Семя DropCreateDatabaseAlways, не названное

У меня есть проблема, заставляя метод Семени быть названным на моем таможенном инициализаторе Базы данных. Я использую EF 5.0 и имею следующий код:

public static class MyDatabase
{
    public static void Initialize()
    {
        Database.SetInitializer(new MyInitializer());
    }
}

public class MyInitializer : DropCreateDatabaseAlways
{
    protected override void Seed(MyContext context)
    {
        base.Seed(context);
        context.Roles.Add(new Role
        {
            ID = 1,
            Name = "User",
        });
        context.Roles.Add(new Role
        {
            ID = 2,
            Name = "Admin",
        });
        context.SaveChanges();
    }
}

Эти два класса существуют в отдельной библиотеке классов из приложения MVC. В Global.asax , я звоню , Инициализируют() метод:

MyDatabase.Initialize();

База данных создается очень хорошо, это - просто Семя (контекст MyContext) , метод не называют, и никакие данные не помещаются в мою базу данных.

12
nl ja de
То же самое, это isn' t названный. Я поместил точку останова на контекст. Роли. Добавьте и это никогда не ломается. Это имело бы какое-либо отношение к инициализатору, находящемуся в различной библиотеке классов а не в самом веб-проекте? Я думал I' ve, сделанный это этот путь прежде, но can' t помнят определенно.
добавлено автор Justin Chmura, источник
Из любопытства, что происходит, если вы помещаете основу. Семя в конце метода?
добавлено автор IronMan84, источник
Это могло. Это могло также быть это you' ve помещают все в статический класс.
добавлено автор IronMan84, источник

3 ответы

Ваша база данных будет создана позже, когда вы будете использовать свой контекст или Вы могли всегда вынуждать его создать при помощи вашего контекста в Application_Start() метод в Global.asax.cs как:

  System.Data.Entity.Database.SetInitializer(new MyInitializer());
MyContext db = new MyContext();
db.Database.Initialize(true);
13
добавлено
У меня не было шанса испытать это все же, но когда я делаю I' ll сообщают, как это идет. Спасибо за предложение!
добавлено автор Justin Chmura, источник

In my situation, Seed was not called because I had enabled migrations. When I removed migrations it worked. http://entityframework.codeplex.com/workitem/1689

3
добавлено

Семя метод назовут, как только вы посылаете первый SQL-запрос в свою базу данных, не в вашем Application_Start . Например:

using (var ctx = new MyContext())
{
    var rolesCount = ctx.Roles.Count();//should return 2
}
1
добавлено
Я посылаю вопросы базе данных. Это я могу подтвердить использование Intellitrace. В расположении, I' m заселение dropdown со списком данных, которые всегда подходят пустые. I' m, также пытаясь спасти пользователю к роли это doesn' t существуют.
добавлено автор Justin Chmura, источник
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)