Linq To Sql 中使用lambda表达式实现Left Join
来源:互联网 发布:关联规则的经典算法 编辑:程序博客网 时间:2024/06/04 17:42
网上也有很多有关Linq To Sql实现Left join的例子,不过使用lambda的不多,就算使用lambda的,也讲得很含糊,本来不需要讲太多废话的,硬要讲得高深莫测,显得好厉害。那些高深的东西在这里我也不讲了,也不会讲,直接上代码就知道了:
TUserInfo,
u => u.UserID,
ui => ui.UserID,
(u, ui) => new { u, ui }).Select(o => o)
当前有两个表,TUsers与TUserInfo,两者通过UserID关联,而TUsers表记录的是必须的数据,而TUserInfo记录是一些附件的数据,因此在TUserInfo中不一定有数据。使用Left Join获取数据:
Lambda表达式如下:
TUsers.GroupJoin(TUserInfo,
u => u.UserID,
ui => ui.UserID,
(u, ui) => new { u, ui }).Select(o => o)
在LinqPad中查看结果,正常显示,查看生成的SQL语句如下:
SELECT [t0].[UserID], [t0].[UserName], [t0].[RealName], [t0].[NickName], [t0].[Password], [t0].[RegTime], [t0].[LastLoginTime], [t0].[IsLocked], [t0].[RoleID], [t1].[UserID] AS [UserID2], [t1].[City], [t1].[Address], [t1].[Telephone], [t1].[Mobile], [t1].[ZipCode], [t1].[Gender], [t1].[Birthday], [t1].[QQ], [t1].[MSN], [t1].[Email], [t1].[HomePage], [t1].[Photo], [t1].[HeadPic], [t1].[PWQ], [t1].[PWA], [t1].[Motto], (
SELECT COUNT(*)
FROM [TUserInfo] AS [t2]
WHERE [t0].[UserID] = [t2].[UserID]
) AS [value]
FROM [TUser] AS [t0]
LEFT OUTER JOIN [TUserInfo] AS [t1] ON [t0].[UserID] = [t1].[UserID]
ORDER BY [t0].[UserID]
SELECT COUNT(*)
FROM [TUserInfo] AS [t2]
WHERE [t0].[UserID] = [t2].[UserID]
) AS [value]
FROM [TUser] AS [t0]
LEFT OUTER JOIN [TUserInfo] AS [t1] ON [t0].[UserID] = [t1].[UserID]
ORDER BY [t0].[UserID]
在代码中测试也可通过;
0 0
- Linq To Sql 中使用lambda表达式实现Left Join
- Linq To Sql 中使用lambda表达式实现Left Join
- Linq To Sql中实现Left Join使用Linq语法与lambda表达式
- 在Linq to sql 和 Entity framework 中使用lambda表达式实现left join
- Linq to sql 中如何进行 left join
- Linq to sql 中如何进行 left join
- Linq to sql 中如何进行 left join
- Linq to sql 中如何进行 left join
- Linq to sql 中如何进行 left join
- Linq中使用Left Join
- Linq中使用Left Join
- Linq中使用Left Join
- linq to Entity 实现 left join
- linq实现Left join
- 理解Lambda表达式 Linq to sql
- 关于Linq to Sql 中的left join 中defaultifempty的相关注意事项
- Linq中如何实现inner join、left join
- Linq中如何实现inner join、left join
- Match.Result()、Match.Groups[] 正则.NET常用
- C++文件操作
- 初识HtmlParser.Net
- 纯css文本溢出省略(兼容IE6+、FF2.0+、Opera9.26+、sefari)
- MVC2 Area實現網站多級目錄
- Linq To Sql 中使用lambda表达式实现Left Join
- Linq To Sql中实现Left Join使用Linq语法与lambda表达式
- .NET操作Excel表格
- .Net创建Excel文件(插入数据、修改格式、生成图表)的方法
- .NET操作Excel免费开源类库简介及比较
- 照片处理:PS三步轻松实现背景虚化
- 嵌套Repeater中获取父级绑定项
- 【实用教程】场景模式详细讲解
- 使用JQuery实现延迟加载UserControl