У меня есть объект-член, который имеет отношение «один-много» к объекту телефона. Я хочу получить список членов с тем же именем и иметь номер телефона, который также соответствует.linq для объектов, сравнивающих списки объектов
Я могу сопоставить записи, но номера телефонов не включаются из-за соединения. Любые идеи, как я могу получить список телефонных номеров?
код до сих пор:
var membersA = dc.Members.Include("Phones");
var membersB = dc.Members.Include("Phones");
var matchingMembers = from ma in membersA
join mb in membersB
on new { ma.Forename, ma.Surname } equals new { mb.Forename, mb.Surname }
where ma.MemberID < mb.MemberID
select new { ma, mb };
if (SearchByPhone)
matchingMembers = from mm in matchingMembers
where mm.ma.Phones.Any(phoneA => mm.mb.Phones.Any(phoneB => phoneB.PhoneNumber == phoneA.PhoneNumber))
select mm;
Сообщает нам, что происходит не так, и мне легче помочь, я все равно попробовал, но это сложно, так как вы не говорите, где проблема. –
Объекты Phone не возвращаются в результате из-за соединения. Я хочу, чтобы объекты телефона были возвращены с объектом-членом, поэтому я также могу отображать номера телефонов, но включение («Телефоны») отменяется соединением, т. е. member.Phones == null вместо списка телефонных номеров – teej
Обновлено ответ, может быть, это работает. Не забудьте принять, если это произойдет. –