Проблема EF Core «многие ко многим» при добавлении новых данных (ошибка дублирования ключа)C#

Место общения программистов C#
Anonymous
Проблема EF Core «многие ко многим» при добавлении новых данных (ошибка дублирования ключа)

Сообщение Anonymous »


У меня есть два класса с отношением M:N. Например:

класс Пользователь { внутренний идентификатор строка Имя ICollection Адреса } адрес класса { внутренний идентификатор строка Текст ICollection Пользователи } Пока все шло хорошо. EF автоматически создал таблицу N:M в моей базе данных. UserAddress с двумя столбцами (UserId и AddressId).

Когда я вставляю данные вручную с помощью SQL, выходные данные EF Core в порядке. Я получаю все свои данные. Но теперь у меня проблема со вставкой из моего приложения:

Я создаю нового Пользователя и хочу добавить существующий адрес.

List ListOfAdresses = ... //(из БД)! вар y = ListOfAdresses.First(); вар х = новый пользователь (); x.Адреса.Добавить(у); и теперь, когда я хочу добавить это в DBContext и сохранить, я получаю ошибку.

Он пытается создать новый адрес... Я получаю сообщение об ошибке

Ошибка дублирования ключа.

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

Вернуться в «C#»