EntityFramework 4.1 EdmMetadata ModelHash - PullRequest
2 голосов
/ 18 мая 2011

Я пытаюсь развернуть приложение EF 4.1 Code-First из Dev в Test, не позволяя EF «сдуть» всю базу данных.

Я копирую базу данных из Dev в Test, перестраиваю приложение и внедряю код. Ибо EF все еще думает, что нужно перестроить БД или что модели данных отличаются. Как я могу предсказать, какой ModelHash приложение увидит при развертывании на другом сервере?

Насколько я могу судить, единственное различие между двумя сборками - это конфигурация, которую я использую для их сборки (одна - Test, а другая - Dev).

Ответы [ 2 ]

0 голосов
/ 18 ноября 2011
System.Data.Entity.Infrastructure.EdmMetadata.TryGetModelHash(DbContext)

вернет вам хеш-строку модели. Это то, что EF хочет видеть в столбце ModelHash таблицы EdmMetadata.

0 голосов
/ 18 мая 2011

Если вы хотите, чтобы кто-то еще использовал вашу БД, и теперь вам придется каждый раз заново ее создавать.

Я установил свой DB Initializer = CreateDatabaseIfNotExists

Затем удалите таблицу «EdmMetadata» из БД.

Я не уверен, что это «правильный» способ сделать это. Но у меня это работает.

...