這裏是我的查詢:添加WHERE子句如果不爲NULL
List<string> kwList = GetFilterKeywords(); // returns NULL none keyword selected
var res = from d in ctx.Books
where (kwList == null || kwList.Contains(d.Name))
select d;
看起來是不合法的添加WHERE子句如果kwList爲NULL。所以我的問題是:有什麼方法可以在IF/ELSE IF構造中添加更多的where子句到相同的查詢?
我的意思是:
var res = from d in ctx.Books
select d;
if (kwList != null)
{
res.Where(d => kwList.Contains(d.Name);
}
* *您正在使用Linq-to-SQL(由C#團隊構建的ORM作爲* LINQ概念驗證*使用'DataContext'類和'.dbml'模型文件),***或者你正在使用實體框架(可能帶有一個'.edmx'模型文件或代碼優先的方法),然後你使用的是Linq-to-Entities查詢 - 但是你不能同時使用兩者時間.... –