Я работал над приложением ASP.NET Entity Framework 4.3 Code-First, которое управляет моделью для тех частей базы данных, которые ей нужны. Поскольку эта база данных будет использоваться несколькими другими приложениями (некоторые не используют ef, поэтому не могут импортировать модели), идея состояла в том, чтобы создать базовую базу данных с моим приложением. После этого администратор базы данных может добавлять другие поля и таблицы, не используемые моим приложением, по мере необходимости.
Проблема возникает при внесении изменений в модель в моем приложении. Наша идея заключалась в том, чтобы использовать новую функцию миграции в EF 4.3 для создания сценариев (функция -script), указывая при этом на нашу локальную машину dev db (SQLCompact), которая затем будет передана администратору базы данных для миграции действительной базы данных dev (MS SQL 2008). ) что все остальные приложения используют.
Однако это вызывало проблемы, так как, когда я начал тестирование (указывая на сервер SQL), приложение не могло прочитать какие-либо связи с внешним ключом, выдавая ошибки, что эти столбцы не существуют. Мне интересно, вызвано ли это различием в переводе SQL Compact и SQL Server (с EF на SQL), или причиной является какая-то другая проблема.
Должен ли я вообще беспокоиться о миграциях EF для этого типа среды с несколькими приложениями из 1 БД? Нужно ли запускать все мои миграции непосредственно с SQL Server? Есть ли у меня совершенно другая стратегия изменений? Буду признателен за любую помощь или руководство.