实体框架"代码优先"不播种或创建数据库 - 没有错误

vid*_*oon 3 entity-framework ef-code-first

出于某种原因,我的数据库没有被创建,我没有收到任何错误.我正在使用"SQL Server"

要在global.asax.ca文件中初始化数据库:

protected void Application_Start(object sender, EventArgs e)
{
     //BREAKPOINT HITS. GOOD
     Database.SetInitializer<MenuManagerContext>(new MenuManagerServiceInitializer()); 
}
Run Code Online (Sandbox Code Playgroud)

...

public class MenuManagerServiceInitializer : CreateDatabaseIfNotExists<MenuManagerContext>
{
    //BREAKPOINT NEVER HITS. BAD
    protected override void Seed(MenuManagerContext context)
    {
        context.Chains.Add(...);

        context.SaveChanges();

        base.Seed(context);
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有为什么没有创建数据库的想法?我甚至没有收到错误,所以很难说出错了什么......

Sla*_*uma 8

Database.SetInitializer不会导致创建数据库.它只设置初始化策略.

如果您是第一次使用上下文,则会创建数据库,例如通过发出任何查询,或者将对象附加或添加到上下文,等等.