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

可能很多的程序也和我有这个疑惑

我在一个方法里这样子写

var users=Db.TbUser;

var validUsers=users.Where(o=>o.CoClosed==false);

目地是为了获取 用户表中的有效用户

如果我是按以上的方法查询

是不是先把表中所有的数据查询出来还回结果集,然后再对结果集进行查询?

如果换成 

var validUsers=Db.TbUser.Where(o=>o.CoClosed==false);

会不会提高效率?


HUX布斯
浏览 586回答 2
2回答

浮云间

Linq的的Where或者其他条件方法,相当于Sql的拼接,真正执行是在ToList(),First() 等获取结果的时候执行的。你可以一边单步调试,一边通过SqlProfile 查看sql的调用就知道了。

凤凰求蛊

如果你用的哦不是linq to sql 的话 是没什么差别的。linq to sql 有个 生产sql 再查询的话,也就是一次连接数据库,是最佳的,如果你写的对会连接两次数据库
打开App,查看更多内容
随时随地看视频慕课网APP