Linq to sql 中如何进行 left join
来源:互联网 发布:淘宝欧时力代购真假 编辑:程序博客网 时间:2024/06/05 22:54
可以用 into 语法,配合 DefaultIfEmpty() 方法加载右侧表中的空值。
例子:
注意这里最后可以通过 y != null 来判断右值是否为空。
这个 Linq to sql 语句生成的对应 SQL 为:
over.
例子:
var query =
from r in db.Roles
join sr in
(
from ss in db.StaffInRoles
where ss.StaffId == staffId
select ss
)
on r.Id equals sr.RoleId
into x
from y in x.DefaultIfEmpty()
select new RoleInfo
{
RoleId = r.Id,
RoleName = r.Name,
IsSet = y != null
};
from r in db.Roles
join sr in
(
from ss in db.StaffInRoles
where ss.StaffId == staffId
select ss
)
on r.Id equals sr.RoleId
into x
from y in x.DefaultIfEmpty()
select new RoleInfo
{
RoleId = r.Id,
RoleName = r.Name,
IsSet = y != null
};
注意这里最后可以通过 y != null 来判断右值是否为空。
这个 Linq to sql 语句生成的对应 SQL 为:
exec sp_executesql N'SELECT [t0].[Id] AS [RoleId], [t0].[Name] AS [RoleName],
(CASE
WHEN [t2].[test] IS NOT NULL THEN 1
ELSE 0
END) AS [IsSet]
FROM [Role] AS [t0]
LEFT OUTER JOIN (
SELECT 1 AS [test], [t1].[StaffId], [t1].[RoleId]
FROM [StaffInRole] AS [t1]
) AS [t2] ON ([t0].[Id] = [t2].[RoleId]) AND ([t2].[StaffId] = @p0)',N'@p0 int',@p0=1
(CASE
WHEN [t2].[test] IS NOT NULL THEN 1
ELSE 0
END) AS [IsSet]
FROM [Role] AS [t0]
LEFT OUTER JOIN (
SELECT 1 AS [test], [t1].[StaffId], [t1].[RoleId]
FROM [StaffInRole] AS [t1]
) AS [t2] ON ([t0].[Id] = [t2].[RoleId]) AND ([t2].[StaffId] = @p0)',N'@p0 int',@p0=1
over.
- 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 To Sql 中使用lambda表达式实现Left Join
- Linq To Sql 中使用lambda表达式实现Left Join
- Linq To Sql中实现Left Join使用Linq语法与lambda表达式
- Linq中如何实现inner join、left join
- Linq中如何实现inner join、left join
- 关于Linq to Sql 中的left join 中defaultifempty的相关注意事项
- 在Linq to sql 和 Entity framework 中使用lambda表达式实现left join
- ef linq to sql left join 连表查询
- Linq中使用Left Join
- Linq中使用Left Join
- Linq中使用Left Join
- linq to xml 关于 left outer join
- linq to Entity 实现 left join
- [Silverlight] Nikhil Kothari 的动画框架 Glitz(摘要)
- .net framework 3.5 beta 2 / vs 2008 beta 2 有问题!
- 几个微软产品组的团队网站地址
- Silverlight 2 beta 2 中目前不支持共享 WCF 的客户端类型
- [Silverlight] 如何在 Worker thread 中更新 UI
- Linq to sql 中如何进行 left join
- Silverlight 2 beta 2 bug 解决办法 (持续更新中)
- Silverlight + WCF 常见错误调试方法
- [Silverlight] 写了两个方便 DOM 查找的扩展方法
- Scott Guthrie 写的 Silverlight 教程索引
- Silverlight 文章收集
- [Silverlight] 一个易犯的错误:关于调用 WCF 服务
- [Silverlight] 改进 Nikhil Kothari 的换肤方案:允许自定义控件的皮肤定义
- Silverlight 的文本框自动完成(AutoComplete)