Задать вопрос
@iluxa1810

Entity Framework и контексты?

Если я получил объект из одного контекста, потом передаю его в метод, где открываю этот же контекст.
Произвожу изменения объекта и делаю SaveChanges, то сохранятся ли данные в бд или я должен сделать SaveChanges в контексте, откуда я выбрал объект?
  • Вопрос задан
  • 326 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
yarosroman
@yarosroman
C# the best
Пример:
var context1=new MyContext();
var context2=new MyContext();
var entity1=context1.Entities1.First();
entity1.Field1=5;
context2.SaveChanges();


Данные не сохранятся. Каждый контекст, имеет свой Changes Tracker (отслеживатель изменений), и на основании его делает изменения в БД.

в этом случае есть 2 варианта, внедрение зависимостей, и передавать контекст по цепочке вызовов или
context2.Entry(entity1).State = EntityState.Modified;
context2.SaveChanges();
Ответ написан
Комментировать
Это же элементарно проверяется
Ответ написан
Ваш ответ на вопрос

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

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