LINQ联接:没有数据或为null的集合
本文关键字:null 集合 数据 联接 LINQ | 更新日期: 2023-09-27 18:27:59
我有两个数据集合,这两个数据彼此相关。例如:ID、PersonName和其他集合是PhoneUnit、PersonID。。。
我必须在这里做一些线路
var results = from people in person join phone in phones.DefaultIfEmpty() on people.ID equals phone.PersonID select new { people.PersonName, phone.PhoneUnit == null ? "empty" : phone.PhoneUnit };
但我的问题是,有时Phone集合返回0个结果,因为数据库中没有数据。但我仍然需要显示PersonName和PhoneUnit
我得到了一个NullReferenceException。请让我知道我在这里缺了什么。感谢
要进行左联接,请尝试以下操作:
var results = from people in person
join phone in phones on people.ID equals phone.PersonID into phone_j
from phone in phone_j.DefaultIfEmpty()
select new {
people.PersonName
phone.PhoneUnit
};
people.ID equals phone.PersonID
这是你的问题,如果你的手机为null,这个语句将永远不会得到null以外的任何结果。