Я - две сущности в моей модели данных, например, Пользователь и Роль, оба имеют поле идентификатора в качестве первичного ключа. Между ними есть отношения многие ко многим.
В базе данных есть три таблицы: таблица соединений Users, Roles и UsersRoles.
Я пытаюсь добавить нового пользователя в таблицу Users:
using(var myContext = new MyContext)
{
var user = new User() { ... };
user.Roles.Add(new Role() { ID = 1 });
}
Эта же роль уже может использоваться другими пользователями, поэтому, когда я пытаюсь добавить нового пользователя с той же ролью, я становлюсь нарушением первичного ключа, когда EF пытается добавить новую запись в таблицу ролей.
Есть ли способ сказать Entity Framework не добавлять новую запись в таблицу ролей, если такая роль уже существует, а только обновлять таблицы Users и UserRoles?
EF версия 1.0
Заранее спасибо.