摘要:
问题的本质是:扩展的Where方法有四个参数重载。传进去Func那么返回值是IEnumable的接口类型的集合,如果是Expression>那么返回的是IQueryable类型的接口集合。而IQueryable接口类型的集合是支持延迟加载和自动根据条件生成sql的。在使用EntityFramework访问数据库时,我们经常使用Lambda表达式,但是如果不小心的话,很容易就掉到坑里了。比如下面的例子:用Lambda访问MSSqlServer中的NewsInfo表中id小于20的记录。代码如下:运行程序,程序工作正常。打开SQLServerProfiler跟踪EF生成的SQL语句,结果如下 阅读全文