Я загрузил два изображения.
- Изображение, показывающее мой edmx в Visual Studio 2013.
- Изображение, показывающее мои таблицы в ssms.
Я просто хотел показать RoleName (Colmun [Name] в таблице AspNetRoles) с UserName (Colmun [UserName] в таблице AspNetUsers) в простой таблице (html) View, т.е. пользователя со всеми соответствующими ролями. Как я могу сделать это с помощью LINQ?
Обновление 1: Я пробовал сделать следующее, но это не сработало
var result = from tb1 in context.Roles
join tb2 in context.Users on tb1.Id equals tb2.Id
select new { tb1.Name, tb2.UserName };
Но это неправильно, на самом деле я хочу, чтобы Userid
всех пользователей в таблице Role
вместо tb1.Id
[в вышеприведенном коде LINQ] соответствовал Userid
в User
стол [tb2.Id
]. Когда я пытаюсь получить доступ к идентификатору пользователя через таблицу ролей, которая выглядит как Context.Roles.Users
coz Users
, вот внешний ключ для таблицы ролей.
2 ответа
Попробуйте это для приведенного выше примера
var result = from tb1 in context.Users
from tb2 in tb1.Roles
join tb3 in context.Roles on tb2.RoleId equals tb3.Id
orderby tb1.UserName, tb3.Name /*optional*/
select new { tb3.Name, tb1.UserName }
Но для удовлетворения ваших требований:
var result = from tb1 in context.Users
from tb2 in tb1.Roles
join tb3 in context.Roles on tb2.RoleId equals tb3.Id
where tb3.Name == "Administrator"
select tb1.Id
Столбец Maitain [AspNetRoles.[Id]
в качестве первичного ключа и столбец [AspNetUsers].[Id]
в качестве внешнего ключа. Давайте напишем такой запрос
var result = (from R in context.AspNetRoles
join U in context.AspNetUsers
ON R.Id equals U.Id
select new{
RoleName=R.Name,
UserName=U.UserName});
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.
UnintentionalCodeFirstException
. не знаю в чем проблема но все равно спасибо за ответ