Генерация многих для многих в рамках сущности - PullRequest
1 голос
/ 10 января 2011

Я сгенерировал EDM-файл, который выглядит следующим образом:

alt text

Как мне преобразовать его во многие ко многим EDM?Я буду использовать POCO, поэтому я хочу, чтобы он выглядел примерно так:

public class User{
    public List<Role> Roles {get; set;}
    /* Other prop here */
}

public class Role{
    public List<User> Users {get; set;}
    /* Other prop here */
}

Использование EF4.

1 Ответ

1 голос
/ 10 января 2011

Что-то, что вы можете / не можете знать - если вы удалите это поле UserRoleId из таблицы UserRole , EF вообще не потребуется отображать эту таблицу соединения, и это будетсоздайте для вас связь «многие ко многим» и выполните «тихое соединение» за кулисами с таблицей соединений.

При этом, если у вас должно быть это дополнительное полетогда вы могли бы сделать что-то вроде этого:

var userWithRoles = ctx.Users.Include("UserRoles.Role");

И аналогично:

var roleWithUsers = ctx.Roles.Include("UserRoles.User");

Как я уже сказал, в большинстве случаев многие-ко-многим только ФКтребуется в таблице соединений.

Если возможно, удалите это поле, затем обновите модель, и многие-ко-многим будут «просто работать».

...