У меня возникла проблема с вызовом метода Seed на мой пользовательский инициализатор базы данных. Я использую EF 5.0 и имею следующий код:
public static class MyDatabase
{
public static void Initialize()
{
Database.SetInitializer(new MyInitializer());
}
}
public class MyInitializer : DropCreateDatabaseAlways<MyContext>
{
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
я вызываю метод Initialize()
:
MyDatabase.Initialize();
База данных создается просто отлично, просто метод Seed(MyContext context)
не вызывается и данные не помещаются в мою базу данных.