Я новичок в EntityFramework.Entity framework: как я могу использовать более одного контекста?
Мое приложение имеет пул экземпляров контекстного объекта (каждый контекст имеет 1 соединение с БД).
Проблема заключается в том, что при обновлении объекта (и вызове SaveChanges) данные обновляются в БД и в контексте обновления, но когда я выбираю из другого экземпляра, он получает старые данные выбранного объекта.
Пример:
Давайте представим таблицу с именем TBL.
Таблица имеет 2 столбца: идентификатор и данные.
Существует одна строка: идентификатор = 1, данные = 2.
EFContext context1 = new EFContext();
EFContext context2 = new EFContext();
var obj1 = context1.tbl.Where(a => a.id == 1);
var obj2 = context2.tbl.Where(a => a.id == 1);
obj2.data = 10;
context2.SaveChanges();
var obj3 = context1.tbl.Where(a => a.id == 1);
После выполнения этих строк, obj3.data
содержит 2, вместо 10.
Как я могу решить эту проблему?
Я не хочу создавать экземпляр контекста каждый раз, когда хочу получить доступ к БД.
Спасибо!
Спасибо. Но если у меня много объектов внутри, есть ли способ обновить все таблицы? Есть ли способ заставить объект получить данные из БД каждый раз, когда я пытаюсь выбрать данные? Еще раз спасибо. – Mattan