读书人

关于join跟where

发布时间: 2013-02-03 12:33:31 作者: rapoo

关于join和where
这两行代码有什么不同
var query = users.Select(x => new { User = x, Orders = orders.Where(y => y.UserID == x.ID) });

var query = from x in users
join y in orders on x.ID equals y.UserID into j
select new { User = j.x, Orders = j };
[解决办法]
join是基于hash的,在数据库中翻译成sql的join
where是基于比较的,在数据库中翻译成sql的子查询,性能要低。

[解决办法]
第一句翻译成sql的话其实就是sql里的left join

读书人网 >.NET

热点推荐