我想知道我什么时候这样做:
IQueryable<customer> customers = new IQueryable<customer>();
var customers = db.customers.Where(x=> x.Name.ToLower() == "john");
延迟执行是否因使用“ToLower()或ToUpper或Tostring”之类的方法而停止?
答案 0 :(得分:2)
延迟执行是否停止使用&#34; ToLower()或ToUpper或Tostring&#34;等方法?
调用哪个方法行x.Name.ToLower() == "john"
不会被执行无关紧要(实际上不会调用完整的Where()
)除非customers
变量具体化或枚举,或者除非通过在查询结束时调用ToList()
将结果存入内存。