Entity Framework: Как я могу использовать более одного контекста? - PullRequest
0 голосов
/ 08 июля 2010

Я новичок в EntityFramework.

Мое приложение имеет пул экземпляров объектов контекста (каждый контекст имеет 1 соединение с БД).

Проблема в том, что когда я обновляю объект (и вызываю SaveChanges), данные обновляются в БД и в контексте обновления, но когда я выбираю другой экземпляр, он получает старые данные выбранного объекта.

Пример:

Давайте представим таблицу с именем tbl.

Таблица имеет 2 столбца: идентификатор и данные.

1 строка: id = 1, data = 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.

Как я могу решить эту проблему?

Я не хочу создавать экземпляр контекста каждый раз, когда хочу получить доступ к БД.

Спасибо!

1 Ответ

0 голосов
/ 09 июля 2010

Я думаю, что обновление вашей сущности должно помочь, вот так:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...