используя запрос linq с stringBuilder - PullRequest
0 голосов
/ 15 октября 2011

Я хочу создать динамическое предложение where в запросе LINQ. У меня есть один строковый строитель sb с добавляемыми значениями Country=null || City=null || State=null и одна таблица данных, в которой есть столбец с именем Имя, Фамилия, Страна, Город, Штат. Я хочу сравнить sb значения с датируемыми столбцами и получить пустые / пустые строки.

Итак, я хочу запрос LINQ, подобный этому:

var query = from p in datatable.AsEnumerable()
            where sb.tostring() // ------------error
            select p 

но возвращает ошибку. Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 15 октября 2011

Вы не можете сделать это в LINQ. Динамический LINQ может помочь вам, но это, вероятно, не лучшее решение для вас.

Почему вы создаете запрос в виде строки? Вы можете просто построить сам запрос динамически. Посмотрите на PredicateBuilder.

0 голосов
/ 15 октября 2011

Вы можете использовать Dynamic Linq

var query = datatable.Where("Country==null || City==null || State==null");

Вам нужно скачать и включить файл C # в ссылку и добавить:

using System.Linq.Dynamic;
...