Я пытаюсь преобразовать следующий SQL выражение в запросе Lambda LINQ, и я, кажется, идет по кругу на данный момент:Возникли проблемы с лямбда-запросов LINQ
select m.MemberExternalPK FROM Member.Member AS m INNER JOIN Member.Account AS a ON m.MemberID = a.MemberID where m.MemberExternalPK in
(
SELECT m.MemberExternalPK
FROM Member.Member AS m INNER JOIN Member.Account AS a ON m.MemberID = a.MemberID
group by MemberExternalPK
having Count(AccountID) = 1
)
and AccountStatusID = 3
До сих пор мне удалось чтобы получить следующий синтаксис, который возвращает правильное количество строк, за которыми я следую, но все столбцы (за исключением MemberExternalPK, который я хочу)!
Members.Join(Accounts, m => m.MemberID, a => a.MemberID, (m, a) => new { m, a })
.GroupBy(t => t.m.MemberExternalPK, t => t.a)
.Where(grp => grp.Count(p => p.AccountID != null) == 1)
.SelectMany(sublist => sublist).Where(x => x.AccountStatusID == 3)