0

我正在尝试使用实体框架代码优先方法连接到 SQL Azure 联合。当我尝试写入联合表时,EF 抛出一个错误,提示“数据库中已经有一个名为 [pluralized table name] 的对象”

我收到此错误是因为我在运行应用程序代码之前创建了联合表。如果我删除表,那么 EF 将为我创建它们而不会引发异常,但这次它们不会被联合。它们将是参考表。

我该如何解决这个问题?我可以先阻止 EF 代码尝试创建表吗?

4

1 回答 1

0

自己找到了答案。

class CreateDatabaseIfNotExists<TContext> : IDatabaseInitializer<TContext> where TContext : DbContext
{
   public void InitializeDatabase(TContext context)
   {
   }
}

我在我的 DBContext 类中这样称呼它:

static EVENTContext()
{
    Database.SetInitializer(new CreateDatabaseIfNotExists<EVENTContext>());
}
于 2012-10-17T04:17:34.903 回答