У меня есть 3 таблицы, которые должны быть сопоставлены с Entity Framework, и я не уверен, как это сделать. Вот мои 3 сущности:
public class User
{
[Key]
public int user_id {get; set;}
public string user_name {get; set;}
public virtual List<Role> roles {get; set;}
}
public class Role
{
[Key]
public int role_id {get; set;}
public string role_name {get; set;}
}
public class User_Role
{
[Key]
public int user_role_id {get; set;}
public int user_id {get; set;}
public int role_id {get; set;}
}
Обратите внимание, что сущность User_Role представляет собой таблицу поиска, которая связывает множество ролей с одним пользователем.
С SQL я бы просто сделал что-то вроде:
SELECT User.user_name, Role.role_name FROM User INNER JOIN User_Role ON User_Role.user_id = User.user_id INNER JOIN Role ON Role.role_id = User_Role.role_id WHERE User.user_id = 123
Я относительно новичок в Entity Framework, поэтому я не уверен, что это лучший способ решить эту проблему с помощью EF4 DbContext (и, возможно, Fluent API?), Но я надеюсь, что это довольно просто.
Заранее спасибо.