关于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