Можно ли использовать строку для выражения запроса LINQ?

Мне нужно извлечь некоторые записи, если некоторые переменные имеют некоторые значения.

Например, если status> 0, мне нужно отфильтровать результат вроде:

where object.id=status

иначе, если status = 0, мне нужно удалить это предложение where и вернуть все элементы. Я избавлюсь от:

if(status>0)
   do a linq query with the where clauses
else
   do a link query with that where clauses

слишком большого количества кода, потому что проверяемых переменных может быть больше 4-5.

Можно ли «внедрить» в LINQ некую строку? (Чтобы я мог создать свою строку и передать ее LINQ.)

Я имею в виду что-то вроде:

string myQuery="";
if(status>0)
   myQuery="where object.id=status";
else
   myQuery="";

возможно ли это? (Классическое поведение MySQL).

7
задан Aliostad 27 July 2011 в 15:43
поделиться