首页 新闻 搜索 专区 学院

Entity FrameWork 我只查询前5条记录,我也只查询部分字段,怎么给我全部查询出来了?

0
悬赏园豆:15 [已解决问题] 解决于 2013-07-09 16:00
1 _NoticeDal.Where(p => 1 == 1).OrderByDescending(p => p.AddDate).Select(p => new Notice { ID = p.ID, Title = p.Title, AddDate = p.AddDate }).Take(top).ToList();

我的top传的参数是5,我用SQL Server Profiler 看怎么没有 top 5  而且我是只查询  ID,Title,AddDate  3个字段,怎么 SQL Server Profiler显示的就相当于 SELECT * FROM Notice 

帮我解答下,非常感谢

xu_happy_you的主页 xu_happy_you | 菜鸟二级 | 园豆:222
提问于:2013-07-09 15:03
< >
分享
最佳答案
0

将Select放在Take(top)之后

收获园豆:10
dudu | 高人七级 |园豆:37797 | 2013-07-09 15:42

是我DAL封装有问题,解决了,谢谢

xu_happy_you | 园豆:222 (菜鸟二级) | 2013-07-09 16:00
其他回答(1)
0

是额,一用到IQueryable就全表查询的,然后做缓存,我也担心效率,不知是否有好的资料帮介绍下

收获园豆:5
滴答的雨 | 园豆:3690 (老鸟四级) | 2013-07-09 15:38

没有全表查询,是我用错了,问题现在解决了,谢谢

支持(0) 反对(0) xu_happy_you | 园豆:222 (菜鸟二级) | 2013-07-09 16:00

@xu_happy_you: 麻烦问下 你是怎么处理的啊 

支持(0) 反对(0) 烟雨潇洒 | 园豆:200 (初学一级) | 2016-11-13 06:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册