Я создал новый веб-проект в Visual Studio 2015 (Community Edition) и выбранный индивидуальный идентификатор. Я выполнил инструкции по использованию миграции EF, чтобы синхронизировать код и базу данных с настраиваемыми пользовательскими свойствами, и это сработало хорошо.Как настроить встроенный идентификатор AspNet без использования миграции
Однако, если я не хочу использовать миграцию базы данных, как добавить пользовательские свойства пользователя? Я вручную добавил свойства C# в поля таблицы ApplicationUser и DB, но всегда получаю сообщение об ошибке «Байт поддержки модели xxxxxContext с момента создания базы данных ...». Должен ли я добавлять эти сопоставления таблиц в OnModelCreating() переопределить?
Также для тех, кто доволен миграцией EF, как это будет работать при развертывании в разных средах?
Ну, если вы собираетесь менять свою модель, вам нужен способ получить их в других средах. Во время ранней разработки вы можете просто использовать инициализатор, такой как DropCreateDatabase, чтобы получить ваши изменения в БД. Когда у вас есть данные, вам небезразличные миграции. Вы можете создать SQL-скрипт, который будет обновлять схему в других средах. –
Я только что понял (спасибо за другие сообщения SO), что удаление/переименование таблицы __MigrationHistory и вызов Database.SetInitializer (null) отключит эту функцию миграции. Миграция работает для небольших/POC проектов, но для реальных приложений отдельный проект базы данных намного лучше отслеживает изменения и управление развертыванием. –
Calvin
Ну, мы уже более 2 лет используем миграции для крупномасштабного «реального» приложения с 4 различными средами (DEV, QA, TRAIN, PROD). Он прекрасно работает, когда вы понимаете проблемы. –