Priyanshu Patel Ответов: 1

Как я могу избавиться от этой ошибки времени выполнения EF


Дополнительная информация: изменения в базе данных были успешно зафиксированы, но при обновлении контекста объекта произошла ошибка. ObjectContext может находиться в несогласованном состоянии. Внутреннее сообщение об исключении: сохранение или принятие изменений не удалось из-за нескольких сущностей типа Project.Models.CertiStaging; имеют то же значение первичного ключа. Убедитесь, что явно заданные значения первичного ключа уникальны. Убедитесь, что первичные ключи, созданные базой данных, правильно настроены в базе данных и в модели Entity Framework. Используйте Entity Designer для конфигурации Сначала база данных / Сначала модель. Используйте свободный API HasDatabaseGeneratedOption или DatabaseGeneratedAttribute для конфигурации Code First.

Что я уже пробовал:

У меня есть две таблицы базы данных с именами Certi и CertiStaging, обе имеют один и тот же первичный ключ. Я не хочу удалять этот первичный ключ и ничего не хочу менять в своих моделях. Как я могу избавиться от этой ошибки EF во время выполнения?

1 Ответов

Рейтинг:
0

RossMW

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


Priyanshu Patel

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

RossMW

На таблицах базы данных. Не ваше заявление.