В дублированном вопросе с тегом используется пользовательский контекст, я использую значение по умолчанию ApplicationDbContext
.
Я запутался, почему данные не заполняются при каждом запуске Update-Database. Я читаю другие вопросы с ответами, но, к сожалению, они используют собственный контекст, я использую значение по умолчанию ApplicationDbContext
. Кажется, у них одинаковые ответы, но они не работают с моей стороны.
Я сделал следующее:
У меня есть собственный инициализатор:
public class PostInitializer : DropCreateDatabaseAlways<ApplicationDbContext>
{
protected override void Seed(ApplicationDbContext db)
{
var posts = new List<Post>
{
new Post()
{
Content = "TestA"
},
new Post()
{
Content = "TestB"
}
};
posts.ForEach(p => db.Posts.Add(p));
db.SaveChanges();
}
}
В Моем Глобальном Асаксе:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
// call PostInitializer here
Database.SetInitializer(new PostInitializer());
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
Моя модель:
public class Post
{
[Key]
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateTime? DateTimeCreated { get; set; }
}
Я попытался удалить БД и запустить Update-Database после, однако данные по-прежнему не заполнены.