Этот вопрос может быть немного примитивным, но у меня возникли проблемы с пониманием правильной логики запроса.LINQ Query with Hashsets from Entity Data Model
У меня есть приложение MVC 5, и я пытаюсь создать модель данных сущности ADO.NET для создания моих объектов из базы данных. Я также использую новое членство в Identity и позволяю ASP.NET создавать таблицы членства для меня.
Вот мой простой SQL Query
SELECT p.* FROM [User] u
INNER JOIN UserRole ur ON ur.UserId = u.UserId
INNER JOIN [Role] r ON r.RoleID = ur.RoleId
INNER JOIN RolePermission rp ON rp.RoleId = r.RoleID
INNER JOIN Permission p ON p.PermissionId = rp.PermissionId
WHERE u.UserName = 'admin'
который возвращает мне все разрешения для пользователя, основываясь на том, что роли пользователя в; и отлично работает.
Когда модель данных сущности создает модель, она удаляет таблицы UserRole и RolePermission (таблицы с составным первичным ключом) и вместо этого дает мне HashSet в каждом объекте.
так Пользователь выглядит следующим образом:
public User()
{
this.Role = new HashSet<Role>();
}
и роли:
public Role()
{
this.User = new HashSet<User>();
this.Permission = new HashSet<Permission>();
}
и то же самое для разрешения. Мне интересно, какой лучший способ запустить тот же запрос в LINQ? Благодарю за любой совет.
да вот это ThankYou очень много. – Jonesopolis