Я хочу показать, на мой взгляд, три колонки:Asp.Net LINQ объединить три таблицы
======================================
UserName | Email | Role Name
======================================
codelover12 [email protected] Student
kimmy45634 [email protected] Teacher
======================================
поэтому изначально я думал, что
я могу присоединиться к Id
в AspNetUsers
стол с UserId
в AspNetUserRoles
стол, а также присоединяйтесь к Id
в AspNetRoles
, поэтому я могу выяснить, кто имеет какую роль.
Я пытался так:
var model = from users in db.Users
join userRoles in db.AspNetUserRoles on users.Id equals roles.UserId
join role in db.Roles on role.Id equals userRoles.RoleId
select new { users.UserName, users.Email, role.Name };
, но понял, что я не могу получить доступ к AspNetUserRoles. Буду признателен за вашу помощь.
Что конкретно вы подразумеваете под "не можете получить доступ к AspNetUserRoles"? Ваш запрос дает вам сообщение об ошибке? По крайней мере, это должно быть 'user.Id равно userRoles.UserId', хотя вместо этого вы должны использовать свойства навигации. – juharr
это дает мне ошибку на db.AspNetUserRoles, говорящей, что ApplicationDbContext не содержит определения для 'AspNetUserRoles' – kkagill
Я предполагаю, что это много-много таблиц, а EF не создает сущности для них. Вместо этого вы должны использовать свойства навигации. Что-то вроде 'от пользователя в db.Users от роли в user.Roles' – juharr