Slider_vm
@Slider_vm

Почему не очищается Context при Exception?

Добрый день! Столкнулся с проблемой сохранения сущности в бд, после ошибки

dbEntities db;
        public RelationshipPeopleRepository(dbEntities context)
        {
            db = context;
        }

        public void Create(relationship_people item)
        {
            db.relationship_people.Add(item);
            db.SaveChanges();
        }


Когда вызываю Create получаю ошибку "Duplicate entry '108-94' for key 'PRIMARY'", при помощи try/catch обрабатываю ее и хочу сохранить информацию об этом в табличку в бд.

В другом репозиторие уже делаю
db.log.Add(item);
db.SaveChanges();


И все равно получаю ошибку Duplicate entry '108-94' for key 'PRIMARY

Что не так я делаю?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@Maa-Kut
Контекст во всех репозиториях один и тот же? Если так, то при ошибке сохранения сущности ее следует "отцепить" от контекста:
db.Entity(item).State = EntityState.Detached;
По идее, контекст после этого сущность отслеживать перестанет и уже не будет пытаться ее в базу пропихнуть.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы