Я пытаюсь вернуть набор записей, основанный на том, что пользователь связан с одним или несколькими способами в LINQ, и у меня много проблем с этим.Присоединиться к нескольким опциям
В принципе, мне нужно показать всех пользователей, которые существуют внутри одного здания, корпоративного или они являются тентом в здании.
Это также будет отфильтровано по массиву идентификаторов здания. В моем примере я жестко кодирую массив массивов (2, 4, 6), но это должно быть в какой-то форме .Contains()
Я написал запрос, который мне нужен в стандартном SQL, и он отлично работает. У меня проблемы с преобразованием в LINQ.
Может ли кто-нибудь объяснить лучший способ сделать что-то подобное в linq, или предложить способ, которым я могу преобразовать стандартный SQL в сущности?
SELECT
*
FROM
UserProfile UP
WHERE
EXISTS(
SELECT
BodyCorporateMemberID
FROM
BodyCorporateMembers BCM
WHERE
UP.UserId = BCM.UserId AND BCM.BuildingId IN (2, 4, 6)
)
OR
EXISTS(
SELECT
UR.UserRoomId
FROM
UserRoom UR
INNER JOIN Rooms R ON UR.RoomId = R.RoomId
INNER JOIN Floors F ON R.FloorId = F.FloorId
WHERE
UR.UserId = UP.UserId AND F.BuildingId IN (2, 4, 6)
)
У вас уже есть модель в EF? Не могли бы вы показать его? –