.net – 如何在LINQ to Entities中进行LEFT JOIN?
发布时间:2020-05-24 12:12:42 所属栏目:MsSql 来源:互联网
导读:我花了最近两天试图找出如何在LINQ中进行真正的LEFT JOIN并且我没有成功. 我有一个用户表,其中有一个“Primary2Address”列,可能并且通常为NULL. 所以我必须在这里进行LEFT JOIN.另外,在Address表中,我有更多可能为NULL的关系,所以我必须做多个LEFT JOINS. 每
|
我花了最近两天试图找出如何在LINQ中进行真正的LEFT JOIN并且我没有成功.
SELECT u.UserName FROM Users u LEFT JOIN Addresses a ON a.AddressiD = u.Primary2Address LEFT JOIN States s ON s.StateID = a.Address2State LEFT JOIN Countries c ON c.CountryID = a.CountryID 请帮忙!到目前为止,我的解决方法是创建一个使用上面的sql语句的存储过程,但我真的想尝试使用LINQ(L2E). 解决方法DefaultIfEmpty用于EntityFramework 4的左连接var query = from u in context.Users
from a in context.Addresses
.Where(x => u.Primary2Address == x.AddressiD)
.DefaultIfEmpty()
from s in context.States
.Where(x => a.Address2State == x.StateID)
.DefaultIfEmpty()
from c in context.Countries
.Where(x => a.CountryID == x.CountryID)
.DefaultIfEmpty()
select u.UserName; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql – 如何检查行是否被锁定以进行更新?
- sql-server – 无法作为数据库主体执行,因为主体“dbo”不存
- 提权思路之MSSQL差异备份取系统权限
- SQL,关键字“FROM”附近的CASE语句的语法不正确
- MySQL中文汉字转拼音的自定义函数和使用实例(首字的首字母)
- sql – Microsoft LogParser:如何在文件中使用参数
- sql-server-2012 – 到SQL Server的Flyway连接字符串的正确
- SQL Server误区:在SQL Server 2000兼容模式下不能使用DMV
- SQL ORDER BY with CASE with UNION ALL
- SQL Server 2008 R2. “AUTO_INCREMENT”附近的语法不正确
