可能很多的程序也和我有這個疑惑我在一個方法里這樣子寫var users=Db.TbUser;var validUsers=users.Where(o=>o.CoClosed==false);目地是為了獲取 用戶表中的有效用戶如果我是按以上的方法查詢是不是先把表中所有的數(shù)據(jù)查詢出來還回結(jié)果集,然后再對結(jié)果集進(jìn)行查詢?如果換成 var validUsers=Db.TbUser.Where(o=>o.CoClosed==false);會不會提高效率?
2 回答

浮云間
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個贊
Linq的的Where或者其他條件方法,相當(dāng)于Sql的拼接,真正執(zhí)行是在ToList(),F(xiàn)irst() 等獲取結(jié)果的時候執(zhí)行的。
你可以一邊單步調(diào)試,一邊通過SqlProfile 查看sql的調(diào)用就知道了。

鳳凰求蠱
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個贊
如果你用的哦不是linq to sql 的話 是沒什么差別的。linq to sql 有個 生產(chǎn)sql 再查詢的話,也就是一次連接數(shù)據(jù)庫,是最佳的,如果你寫的對會連接兩次數(shù)據(jù)庫
- 2 回答
- 0 關(guān)注
- 630 瀏覽
添加回答
舉報(bào)
0/150
提交
取消