У меня есть следующий запросКак реализовать предложение 'in' в Entity Framework?
select distinct X.* from X
inner join Y on X.ID = Y.ID1
inner join Z on Y.ID= Z.ID2
where X.param = 1 and Z.param in (1,2)
До сих пор я стыки и где положение на X.param реализован, но я изо всех сил на в разделе о Z.param. Список идентификаторов подается от listofids типа List
entities.X
.Join(entities.Y, t1 => t1.ID, t2 => t2.ID1, (t1, t2) => new { X= t1, Y= t2 })
.Join(entities.Z, t => t.Y.ID, t3 => t3.ID2, (t, t3) => new { X= t.X, Y= t.Y, Z= t3 })
.Select(d => d.X).Distinct().Where(x1 => x1.param == 1)
Добавление следующее не работает
Any(d1 => d1.Z.param.Contains(listofids))
Любые идеи?
Удалены Любые добавил 'в' пункта к 'где' п entities.X .join (entities.Y, t1 => t1.ID , t2 => t2.ID1, (t1, t2) => new {X = t1, Y = t2}) .Join (entities.Z, t => tYID, t3 => t3.ID2, (t, t3) => new {X = tX, Y = tY, Z = t3}) . Где (x1 => x1.X.param == 1 && listofids.Contains (x1.Z.param)). Выберите (d => dX) .Distinct() – Geoffrey