Выполнить несколько запросов, а затем объединить их с LINQ? - PullRequest
1 голос
/ 22 декабря 2010

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

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

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

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

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

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

1 Ответ

0 голосов
/ 22 декабря 2010

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

Примерно так

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, и это полностью не проверено, но, надеюсь, вы поймете идею.

...