首页 新闻 会员 周边 捐助

关于EF使用Fun<in T, out TResult>查询问题

0
悬赏园豆:5 [已解决问题] 解决于 2014-02-21 10:35

为什么我在使用

this.QQYALIEntities.Set<T>().Where(o => o.Id > 3000).OrderByDescending(o => o.CreateTime).ToList();

生成的SQL语句是

select * FROM [dbo].[Content] AS [Extent1]
WHERE [Extent1].[Id] > 3000
ORDER BY [Extent1].[CreateTime] DESC

而使用

 Func<Content, bool> whereFunc = o => o.Id > 3000;
 Func<T, object> orderFunc = o => o.CreateTime;

this.QQYALIEntities.Set<T>().Where(whereFunc).OrderByDescending(orderFunc).ToList()

这样的查询方式,会出现全表查询,是不是where实现机制不一样,有没有好的解决方案?

biubiubiu的主页 biubiubiu | 初学一级 | 园豆:114
提问于:2014-02-21 10:13
< >
分享
最佳答案
0
收获园豆:5
dudu | 高人七级 |园豆:30734 | 2014-02-21 10:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册