Как создать базу данных на другом хосте из схемы первой модели?
У меня есть уже существующая база данных и сгенерированная на ее основе модель Entity Framework 6. Мне нужно создать одну и ту же базу данных на другом хосте и / или ядре базы данных. Я надеялся, что смогу использовать ту же модель, что и в начале кода, но OnModelCreating
метод генерируемого DbContext
кажется защищенным от использования в коде, он бросает UnintentionalCodeFirstException
, Сгенерированные модели не имеют примененных атрибутов.
Есть ли способ повторно использовать мою модель, основанную на базе данных, для создания базы данных с той же схемой? Или, может быть, есть очевидный и гораздо более простой способ сделать это, что я скучаю?
1 ответ
Если вы просто хотите создать базу данных, вам не нужно трогать OnModelCreating
метод. Вы должны быть в состоянии сделать это из конструктора (щелкните правой кнопкой мыши на поверхности конструктора и выберите "Создать базу данных из модели" и запустите сценарий) или, если вы хотите сделать это из кода, выполните ctx.Database.Create()
или используйте CreateDatabaseIfNotExists
инициализатор.