Выполнить несколько запросов, а затем объединить их с LINQ?

Я пытаюсь создать выпадающий список, который содержит доступные параметры (то есть категорию страницы, для которой пользователь может создать страницу) для вошедшего в систему пользователя, однако они основаны на ролях пользователей в зависимости от характера нашего бизнеса. произведения - из которых пользователь может принадлежать к нескольким ролям, и каждая роль может иметь различные параметры для выбора в раскрывающемся списке.

Что я хотел бы сделать для пользователей с несколькими ролями, так это объединить параметры каждой отдельной роли и использовать его в качестве значений раскрывающегося списка.

Я предполагал, что смогу выполнить несколько запросов LINQ, скажем, запустив их через a для каждого (For Each r In userRoles) а потом их объединять?

Хотя я не знаю, возможно ли это так, как я пытаюсь это сделать.

Это возможно или я лаю не на том дереве?

Может кто-нибудь, пожалуйста, пожалуйста, укажите мне в правильном направлении?

1 ответ

Решение

Похоже, вы можете присоединиться к пользователю по ролям и опциям, а затем группировать по опциям.

Что-то вроде этого

Dim userId = GetCurrentUserId
Dim userOptions = From userRole In UserRoles
                Join roleOption In RoleOptions
                On userRole.roleId Equals roleOption.roleId And 
                     userRole.userId Equals userId
                Group By OptionId = roleOption.optioId, OptionName = roleOption.name
                Into UserOptions = Group
                Order By OptionName

Я не программист VB.NET, и это абсолютно не проверено, но, надеюсь, вы поняли идею.

Другие вопросы по тегам