求教Linq to sql 查询速度的问题

月夜惹人醉 2018-08-21 05:45:24
最近在写一个查询的内容
⑴var q= db.a.Where(c.record_status != 4);
⑵var q=db.a;
q=q.Where(c=>c.record_status != 4);
请问这两种查询哪个速度快一些呢,查询的内容很多,并且查询结束后需要循环

补充:其实这个查询外有foreach循环,查询条件是随循环变化的,我想先在循环外查询,然后再在循环内添加条件,也就是用到⑵
但是,我又怕查询所有影响效率
...全文
167 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
月夜惹人醉 2018-08-21
  • 打赏
  • 举报
回复
谢谢,明白了,那怎么给你分啊,我不太会
正怒月神 2018-08-21
  • 打赏
  • 举报
回复
所以当你抓取数据时,其实他们的sql语句是一样的。
正怒月神 2018-08-21
  • 打赏
  • 举报
回复
⑴var q= db.a.Where(c.record_status != 4);
⑵var q=db.a;
q=q.Where(c=>c.record_status != 4);

速度一样快。

因为在没有tolist,或者 firstordefault等等之前,他们都是IQueryable<>的,是不会加在数据的。
只有当你做了上面tolist,或者 firstordefault , take等等操作时,才会抓取数据,变为IEnumerable<>

8,493

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧