延迟执行 linq c# Tolower toupper tostring
Deferred execution linq c# Tolower toupper tostring
我想知道我什么时候这样做:
IQueryable<customer> customers = new IQueryable<customer>();
var customers = db.customers.Where(x=> x.Name.ToLower() == "john");
延迟执行是否在使用"ToLower() or ToUpper or Tostring"之类的方法时停止?
Does the deferred execution stop at the use of methods like "ToLower() or ToUpper or Tostring"?
无论调用哪个方法都不会执行x.Name.ToLower() == "john"
行(实际上不会调用完整的Where()
)除非customers
变量被具体化或枚举或者除非您通过在查询结束时调用 ToList()
将结果存入内存。
我想知道我什么时候这样做:
IQueryable<customer> customers = new IQueryable<customer>();
var customers = db.customers.Where(x=> x.Name.ToLower() == "john");
延迟执行是否在使用"ToLower() or ToUpper or Tostring"之类的方法时停止?
Does the deferred execution stop at the use of methods like "ToLower() or ToUpper or Tostring"?
无论调用哪个方法都不会执行x.Name.ToLower() == "john"
行(实际上不会调用完整的Where()
)除非customers
变量被具体化或枚举或者除非您通过在查询结束时调用 ToList()
将结果存入内存。