Вам потребуется инициализировать его для типа, совместимого с окончательной формой запроса, или просто явно ввести его.
IQueryable<Foo> theQuery; // explicitly type it
// var theQuery = db.Foos.AsQueryable(); // alternately infer it
if (blah)
theQuery = db.Foos.Where(...);
else
theQuery = db.Foos.OrderBy(...);
theQuery = theQuery.Where(...); // keep chaining
//etc;
Обратите внимание, что тип выводит один раз , вы не можете изначально установить его на string.Empty
, а затем ожидать, что сможете использовать его с запросом Linq-to-Sql.Это не сработает, как если бы использование явной типизации в таком сценарии не сработалоВы не ожидаете, что сможете сделать это:
string blah = "";
blah = db.Foos.Where(f => f.Bar > 20);
Также вы не могли бы заменить string
на var
и ожидать успеха.var
не означает dynamic
.