【发布时间】:2014-06-06 06:04:13
【问题描述】:
情况是我加入了具有相同 ID 的 2 列以最终得到一个单列表,而我的问题是某些信息没有联系人,因此此行 (b => b.InfoID == a.ID) 返回 null 或 false,并显示 NullReferenceException 错误,有人可以帮我解决我在 Linq 中的问题吗?
这是我的表格之前显示的内容
| Name | Address | Cellphone | Email |
| John | NY | n/a | johndoe@y.c |
| John | NY | 123456781 | n/a |
我希望我的输出是一个合并的班轮
| Name | Address | Cellphone | Email |
| John | NY | 123456781 | johndoe@y.c |
这是我的 Linq,它显示 Joined 表,但是当 Info 还没有联系人时,它返回 NullReferenceError
var an = (from a in db.Info
from b in db.Contact.Where(b => b.InfoID == a.ID && b.ContactTypeID == 56 && b.LogicalDelete == false).DefaultIfEmpty()
from c in db.Contact.Where(c => c.InfoID == a.ID && c.ContactTypeID == 59 && c.LogicalDelete == false).DefaultIfEmpty()
where
select new
{
a.ID,
a.LastName,
a.FirstName,
a.MiddleName,
Email = b.Values,
Cellphone = c.Values,
}).ToList();
【问题讨论】:
标签: c# sql linq sql-server-2008