Я хочу программно создать сценарий создания базы данных для моей базы данных EF 4.3 Code-First. База создает просто отлично, используя стандартные механизмы DatabaseInitializer, но следующий код не:Сценарий EF 4.3 с использованием ObjectContext с ошибкой при создании кода с помощью встроенного DatabaseInitializer
using(var dc = new MyContext())
{
var objContext = (IObjectContextAdapter)dc;
var script = objContext.ObjectContext.CreateDatabaseScript();
}
исключение я получаю:
магазина генерируется модель «компьютерные» не поддерживаются для свойств, а не типа «timestamp» или «rowversion».
У меня есть вычисляемый столбец, определенный типа «строка», но, как я уже сказал, база данных создается отлично при создании через встроенный DatabaseInitializer. Как ни странно, результирующая схема с использованием этого метода фактически не создает вычисляемый столбец.
Что касается Почему Я делаю это, у меня есть сценарий, который запускает post-create, который удаляет этот столбец и создает столбцовый вычисленный столбец. Без указания столбца, вычисленного в EF-сопоставлении, он попытается присвоить этому столбцу значение для вставок, которое затем завершится неудачей.
Я не согласен с Миграциями, как вы можете видеть по некоторым из моих последних вопросов. Зависимость от реальной базы данных является проблематичной. По причинам, не зависящим от меня, мне требуется возможность просто получить сценарии DDL, будь то сценарий «diff» от одного перехода к другому или весь сценарий создания в любой заданной точке. –