Выполнение кода при первой миграции затенено в настройках публикации

Использование Windows Azure и попытка опубликовать мое приложение MVC3. Флажок Выполнить код первой миграции на панели настроек веб-приложения "Публикация" недоступен. Какие изменения мне нужно сделать, чтобы включить его?

2 ответа

Решение

Я полагаю, что при попытке опубликовать приложение MVC отключено следующее "Выполнение кода при первой миграции":

Это может быть связано с тем, что либо вы не пишете полный код для переноса кода в вашем приложении, либо нет, либо неправильно настроены БД в вашем файле web.config, как описано здесь.

Чтобы включить миграцию кода, у вас должна быть настроена БД (в случае Windows Azure вам необходимо предоставить информацию о базе данных SQL в web.config) в web.config, и полный класс написан о том, как будет происходить миграция кода. зависит от вашей модели. Вот пример того, как этого добиться.

http://msdn.microsoft.com/en-us/library/dd394698

Я предполагаю, что у вас уже есть модель Entity Framework и в вашей базе данных (если нет, то вам нужно немного почитать, ответ от @AvkashChauhan был бы действительно хорошей отправной точкой).

Однако, если у вас есть модель и все конфигурации, такие как:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
   modelBuilder.Configurations.Add(new YourEntityMap());
}

и все отображения сущностей, такие как:

public class YourEntityMap : EntityTypeConfiguration<YourEntity>
{
    public YourEntityMap()
    {
        this.HasKey(t => t.Id);
    }
}

и вы по-прежнему не активированы чертовски флажок, вы можете сделать следующие шаги:

Идти к Tools > NuGet Package Manager > Package Manager Console

введите описание изображения здесь

Тогда в консоль пиши

Enable-Migrations -ContextTypeName Company.Models.YourDevContext

где Company.Models.YourDevContext ваш контекст базы данных (ищите класс, который наследует от DbContext должен быть таким же, который имеет OnModelCreating переопределить).

после запуска команды вы должны получить что-то вроде:

введите описание изображения здесь

На этом этапе вы должны иметь Migrations Папка добавлена ​​в решение больше о том, как обрабатывать миграции здесь

Надеюсь, это сэкономит вам время.

Другие вопросы по тегам