您第二次打电话 .SelectMany(x => x.Contacts)
, ,您目前正在合作 ContactDetails
. 。怀疑您能够使用 SelectMany
在上面。您需要使用 Select
反而。
SelectMany
当您想选择多个项目并将其放入一个时,请使用 IEnumerable
. Select
用于单个字段。由于您正在使用类型的对象 ContactDetail
(我认为只能有一个联系),您需要使用 Select
编辑:这是简而言之,一步一步:
groups_to_querry.SelectMany(x => x.Contacts)
: :从我想查询的所有小组中选择他们的所有联系人。每个小组都有许多联系人,因此将它们全部放入一个 IEnumerable
类型的集合 Contact
.Where(x => x.ID == Guid.Empty)
: :...但是只有那些带有空ID的联系人
.SelectMany(p => p.ContactDetails)
: :然后选择所有这些联系人的许多ContactDeTails。每个触点都有许多联系尾尾,因此将它们全部放入一个 IEnumerable
类型的集合 ContactDetail
.Where(x => x.ID == Guid.Empty)
: :...但是只有那些带有空ID的Contactdetails
.SelectMany(x => x.Contacts);
: :现在选择每个Contactdetails的许多联系人。但是,由于编译器知道联系人与联系尾尾之间存在一对多关系(而不是相反),因此该语句是不可能的,因此显示了编译错误