Как уже говорилось, приложение не знает содержания критериев запроса. Если бы я решил добавить дополнительные критерии выбора, основываясь на моем представлении, мне пришлось бы также редактировать свой код. Я не хочу этого делать.

я есть база данных, которая имеет экран поиска пользователя, который является «динамическим», в котором я могу добавить дополнительные критерии поиска на лету, основываясь на том, какие столбцы доступны в определенном представлении, на котором основан поиск, и это позволит пользователю использовать их немедленно. Ранее я использовал nettiers для этой базы данных, но теперь я программирую новое приложение для нее, используя RIA и EntFramework 4 и LINQ.

В настоящее время у меня есть 2 таблицы, которые заполняют комбинированный список доступными шаблонами строки поиска:

Фамилия Фамилия, Имя Фамилия Телефон и т. Д ....

затем у меня есть другая таблица, которая разделяет эти критерии и используется в моих алгоритмах неттье. Он хорошо работает, но я хочу использовать LINQ .. и он не очень подходит для этой модели. Кроме того, я думаю, что могу сократить это до одного стола с linq ...

используя формат, похожий на этот или что-то очень близкое ...

ID, Критерии WhereClause 1 Фамилия 'Фамилия нравится'% {0}% '

теперь я знаю, что это не вписывается конкретно в запрос linq ... но я пытаюсь использовать универсальный синтаксис для ясности здесь ...

реальное условие where будет выглядеть примерно так: a => a.LastName.Contains ("{0}")

Мой первый вопрос: это вообще возможно? Вставить лямбду в строку и использовать ее в запросе Linq?

Мой второй вопрос: однажды, когда я исследовал это, прежде чем я нашел синтаксис linq с таким префиксом, как it.LastName {0}, и я, кажется, пытался использовать его, потому что его остатки все еще находятся в моих тестовых базах данных ... .но я не знаю, вспомните, где я читал об этом.

Кто-нибудь делает это? Я провел несколько поисков и обнаружил похожие происшествия, но они в основном имеют статические поля, которые являются необязательными, не совсем так, как я это делаю

Ответы на вопрос(2)

Ваш ответ на вопрос