Как EF проверяет, является ли база данных последней версией? - PullRequest
0 голосов
/ 13 марта 2012

Я знаю, что EF проверяет таблицу EdmMetadata, чтобы определить, совпадает ли версия классов модели с таблицами базы данных.

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

1 Ответ

0 голосов
/ 13 марта 2012

Посмотрите на это сообщение в блоге о таблице EdmMetadata.

Для вашего вопроса, это соответствующие части:

Таблица EdmMetadata - это простой способ для Code First определить, Модель, используемая для создания базы данных, является той же моделью, которая сейчас используется для доступа к базе данных. Начиная с EF 4.1 единственное, что хранится в Таблица представляет собой одну строку, содержащую хэш SSDL-части модели используется для создания базы данных.

(Подробная информация: когда вы смотрите в файле EDMX, SSDL является частью тот файл, который представляет схему базы данных (хранилища). Это означает, что хеш модели EdmMetadata изменяется только в том случае, если схема базы данных будут сгенерированы изменения; изменения в концептуальной модели (CSDL) или отображение между концептуальной моделью и базой данных (MSL) не влияет на хеш.)

...