使用Linq to Entities,當我對用書寫的LINQ語句創建的Linq對象執行Where lamba表達式時,where子句不工作。Where子句不適用於LINQ IQueryable查詢
這不起作用。查詢執行,但結果未經過濾返回。
var myQuery = (from l in db.MyTable
select l);
myQuery.Where(r => availableStatusList.Contains(r.Status));
var myObj = myQuery.ToList();
這是行不通的。查詢執行,AND結果返回正確過濾。
var myQuery = (from l in db.MyTable
select l).Where(r => availableStatusList.Contains(r.Status));
var myObj = myQuery.ToList();
據我所知,這兩個應該返回相同的結果。爲什麼第一個人不聽Where條款?
你沒」把它分配回myQuery。 Where子句創建一個新的對象,它不會改變現有的對象。 –
嘗試把'where'換成原始格式(不是從標準格式到內聯格式):從db.MyTable中的l where availableStatusList.Contains(l.Status)select l ;.我很好奇,看看它是否會改變它。 – BlackjacketMack