小编JnJ*_*Boo的帖子

如何使用Entity Framework CodeFirst使我的数据库成为种子?

数据库已成功创建(与表一样)但未加种.我花了几个小时阅读了大量文章但却未能得到它.有什么建议?

另外,是否可以在客户端中没有引用我的DatabaseContext的情况下调用初始化程序?

我已经包含了我能想到的所有相关代码.如果有任何其他方面的帮助,请告诉我.

我试过的事情:

  1. 我删除了我的连接字符串(因为它默认为sqlexpress,只是更改了名称)
  2. 我将DropCreateDatabaseIfModelChanges更改为DropCreateDatabaseAlways,仍然相同.

编辑:非常奇怪的是它曾经工作过一次,但我不知道它是如何或为什么再次破坏.我假设连接字符串,但谁知道.

DatabaseInitializer.cs

public class DatabaseInitializer : DropCreateDatabaseIfModelChanges<DatabaseContext>
{
  protected override void Seed(DatabaseContext context)
  {
    // Seeding data here
    context.SaveChanges();
  }
}
Run Code Online (Sandbox Code Playgroud)

DatabaseContext.cs

public class DatabaseContext : DbContext
{
  protected override void OnModelCreating(DbModelBuilder mb)
  {
    // Random mapping code
  }

  public DbSet<Entity1> Entities1 { get; set; }
  public DbSet<Entity2> Entities2 { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

Global.asax.cs - Application_Start()

protected void Application_Start()
{
  Database.SetInitializer<DatabaseContext>(new DatabaseInitializer());
  AreaRegistration.RegisterAllAreas();
  RegisterGlobalFilters(GlobalFilters.Filters);
  RegisterRoutes(RouteTable.Routes);
}
Run Code Online (Sandbox Code Playgroud)

客户端web.config

<connectionStrings>
  <add name="DatabaseContext" connectionString="data source=.\SQLEXPRESS;Database=Database;Integrated Security=SSPI;" …
Run Code Online (Sandbox Code Playgroud)

frameworks entity entity-framework code-first asp.net-mvc-3

62
推荐指数
3
解决办法
7万
查看次数