Выполнить несколько запросов, а затем объединить их с 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, и это абсолютно не проверено, но, надеюсь, вы поняли идею.