Linq与Epression 的使用疑问

构建表达式树后发现,以下两种方法做查询存在数据库上的执行差异

System.Linq.Expressions.Expression<Func<Customer, bool>> lambda = e => e.CustomerNo == "0000001";

var where = lambda.Compile();

 

var result = this.ObjectContext.Customer.Where(lambda);

//var result = this.ObjectContext.Customer.Where(where);

 

未注释的方法 发给数据库的查询是 select * from Customer where CustomerNo == "0000001"

而注释的方法select * from Customer 然后在前台 做where( e.CustomerNo == "0000001");

 

有大神能解答一下为什么吗

posted on 2015-09-15 18:36  我是一个大光头  阅读(178)  评论(0)    收藏  举报

导航