Следуя за моим другим вопросом насчет насмешки DbContext.Set У меня есть еще один вопрос насчет насмешек EF Code First.
Теперь у меня есть метод для моего обновления, который выглядит так:
if (entity == null)
throw new ArgumentNullException("entity");
Context.GetIDbSet<T>().Attach(entity);
Context.Entry(entity).State = EntityState.Modified;
Context.CommitChanges();
return entity;
Контекст - это интерфейс моего собственного DbContext.
Проблема, с которой я работаю, - это как я обрабатываю
Context.Entry(entity).State
.
Я прошел через этот код, и он работает, когда у меня есть реальный живой DbContext в качестве реализации моего интерфейса Context. Но когда я помещаю свой поддельный контекст, я не знаю, как с ним справиться.
Нет конструктора для класса DbEntityEntry, поэтому я не могу просто создать новый в моем поддельном контексте.
Кто-нибудь имел какие-либо успехи с издевательством или подделкой DbEntityEntry в ваших решениях CodeFirst?
Или есть лучший способ справиться с изменениями состояния?