首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于join跟where

2013-02-03 
关于join和where这两行代码有什么不同var query users.Select(x new { User x, Orders orders.Wh

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

热点排行