0

伙计们,

创建一个新的 ASP .NET MVC 4 应用程序后,这是我所做的:

  1. 从数据库资源管理器中,删除默认连接中的所有表。
  2. 编辑 AccountModels.cs 并添加了更多表格。
  3. 更新了 UsersContext 类以引用新表: public class UsersContext : DbCONtext {

      ...
      DbSet<Items> Items {get; set; }
    

    }

  4. 运行应用程序。

在调试器中,我看到调用了以下行:

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);

但是,当我查看数据库时,只创建了与 SimpleMembershipProvider 相关的五个表。我的其他表没有被创建。

我想知道是否有一些我错过的步骤。

预先感谢您的帮助。

问候,
彼得

4

2 回答 2

2

您需要为您的域模型创建另一个 DbContext 类。

使用同一个 DbContext,UsersContext 以后会给你带来很多问题。我有很多问题。事实证明,您的域模型需要一个单独的 DbContext。

于 2013-09-22T08:05:29.660 回答
0

感谢您的帮助。我最终想通了。默认 InitializeSimpleMembershipAttribute 类适用于仅创建简单成员资格所需的表(和列)。您创建自己的初始化器类,该类继承自 CreateDatabaseIfNotExists<>。现在,您可以删除并重新创建一个空数据库。当您运行您的应用程序时,您的所有表都会自动创建。

彼得

于 2013-09-27T05:26:15.827 回答