为了账号安全,请及时绑定邮箱和手机立即绑定

linq 多个where查询会不会提交多次

linq 多个where查询会不会提交多次

噜噜哒 2018-12-06 13:48:29
可能很多的程序也和我有这个疑惑 我在一个方法里这样子写 var users=Db.TbUser; var validUsers=users.Where(o=>o.CoClosed==false); 目地是为了获取 用户表中的有效用户 如果我是按以上的方法查询 是不是先把表中所有的数据查询出来还回结果集,然后再对结果集进行查询? 如果换成  var validUsers=Db.TbUser.Where(o=>o.CoClosed==false); 会不会提高效率?
查看完整描述

4 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

Linq的的Where或者其他条件方法,相当于Sql的拼接,真正执行是在ToList(),First() 等获取结果的时候执行的。

你可以一边单步调试,一边通过SqlProfile 查看sql的调用就知道了。

查看完整回答
反对 回复 2019-01-21
?
www说

TA贡献1775条经验 获得超8个赞

如果你用的哦不是linq to sql 的话 是没什么差别的。linq to sql 有个 生产sql 再查询的话,也就是一次连接数据库,是最佳的,如果你写的对会连接两次数据库

查看完整回答
反对 回复 2019-01-21
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

不会,调适时可以看到生成的sql

查看完整回答
反对 回复 2019-01-21
?
UYOU

TA贡献1878条经验 获得超4个赞

两种写法没有什么区别 只是前一种多了一个临时变量而已

LINQ只会在用到这个查询的进修才会去查

WHERE是延迟查询操作符

数据不会加载到内存中

查看完整回答
反对 回复 2019-01-21
  • 4 回答
  • 0 关注
  • 425 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信