【发布时间】:2019-11-08 02:25:58
【问题描述】:
我正在尝试使用带有 DefaultIfEmpty() 的“into”语句进行左外连接,但是当我尝试加入第三个集合时,它不喜欢它(看不到/使用它/找到它)
下面一行的personRole好像不太喜欢
join roleTypes in roles on personRole.ContactRoleTypeId equals roleTypes.ContactRoleTypeId into r2
查询:
findPersonResultsViewModelNew =
from azed in findPersonViewModel.findPersonResultsViewModel
join personRole in personContactRoles on azed.PersonID equals personRole.PersonId into r1
join roleTypes in roles on personRole.ContactRoleTypeId equals roleTypes.ContactRoleTypeId into r2
from p in r1.DefaultIfEmpty()
from g in r2.DefaultIfEmpty()
select
//…. other code
【问题讨论】:
-
您的订单很重要。一旦你做了
into r1,personRole就不再存在了。如果您想离开加入并使用personRole跟随,您必须立即执行from personRole in r1.DefaultIfEmpty()。见我的SQL to LINQ Recipe。
标签: c# .net linq collections linq-to-sql