EF Code First 4.3 Жизненный цикл DbContext? - PullRequest
5 голосов
/ 24 февраля 2012

Я искал, но не нашел много по этой теме.Кто-нибудь видел краткий «порядок операций» для DBContext, включая такие вещи, как создание экземпляров, проверка, сохранение и т. Д.?Мне в основном любопытно, потому что при использовании LINQPad с моим контекстом EF 4.3 Code First он запускает два запроса перед любым из моих собственных.Один из них связан с историей миграции, которая, как я понимаю, заключается в том, что мы используем EF Migrations и она пытается выяснить, требуется ли автоматическое обновление, а другая - для таблицы EdmMetadata, которую я не понимаю, поскольку она звучит такне требуется, если мы используем EFMigrations.

Отсутствие понимания, почему вызывается один запрос, заставляет задуматься, есть ли другие части жизненного цикла DBContext, о которых я не знаю, которые могут быть полезны для понимания /переопределения.Заранее спасибо!

1 Ответ

0 голосов
/ 25 февраля 2012

Запрос для EdmMetadata по причинам совместимости.EF 4.1 не было миграций.Чтобы можно было выяснить, изменилась ли модель или нет таблица EdmMetadata.Допустим, вы разработали приложение с использованием приложения EF 4.1 и перешли на EF 4.3, но не изменили модель.В этом случае нет необходимости запускать миграции, генерировать исключения или касаться базы данных, поскольку ваша модель не изменилась.Вызов таблицы EdmMetadata просто для того, чтобы иметь возможность корректно справиться с этой ситуацией и избежать броска или касания базы данных, если она не нужна.Я не думаю, что в EF 4.3 были другие изменения такого рода.

...