使用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