Проблема 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 и сохранить, я получаю ошибку.

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

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

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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