2回目は電話をかけます .SelectMany(x => x.Contacts)
, 、あなたは現在、コレクションで作業しています ContactDetails
. 。あなたが使用できることは疑わしい SelectMany
その上。使用する必要があります Select
代わりは。
SelectMany
アイテムの複数のコレクションを選択し、それらを1つに入れたいときに使用されます IEnumerable
. Select
個々のフィールドで使用されます。あなたはタイプのオブジェクトを使用しているので ContactDetail
(これは1つしか連絡できないと思います)、あなたは使用する必要があります Select
編集:これがあなたが一言で言えば、段階的にやっていることです:
groups_to_querry.SelectMany(x => x.Contacts)
: :私がクエリしたいすべてのグループから、多くの連絡先をすべて選択します。各グループには多くの連絡先があるので、それらをすべて1つに入れます IEnumerable
タイプのコレクション Contact
.Where(x => x.ID == Guid.Empty)
: :...しかし、空のIDを持つそれらの連絡先のみ
.SelectMany(p => p.ContactDetails)
: :次に、これらの連絡先のすべての連絡先を選択します。各連絡先には多くのcontactDetailsがあるので、それらをすべて1つに入れます IEnumerable
タイプのコレクション ContactDetail
.Where(x => x.ID == Guid.Empty)
: :...しかし、空のIDを持つそれらのcontactDetailのみ
.SelectMany(x => x.Contacts);
: :次に、ContactDetailsの各連絡先を選択します。ただし、コンパイラは、連絡先と接触デテールの間に1対多くの関係があることを知っているため、そのステートメントは不可能であるため、コンパイルエラーが表示されます。