2

我试图开发一个应用程序并创建了自己的数据库,然后首先使用数据库将其反映到实体模型中。所以我现在已经有了 myOwnDBContext。然后我认为将它与 IdentityDbContext 生成的类混合是一个好主意。但是当我像这样更改 IdentityModel 中的连接字符串时

 public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
            : base("myOwnDBConnectionString")
        {
        }
    }

这些表没有像我在 myOwnDB 中所期望的那样生成,而是我收到了以下错误。

实体类型 ApplicationUser 不是当前上下文模型的一部分。

有没有办法可以将 IdentityDbContext 的默认数据库与我自己的数据库混合?

4

1 回答 1

3

我不确定这是否可以在不使用 EF 迁移的情况下工作,但我确实可以使用迁移。具体来说,两个 DbContext 派生类(一个用于自定义实体,一个派生自 IdentityDbContext)。

对于迁移,我必须从包管理器控制台为两个上下文启用迁移,并使用 -MigrationsDirectory 参数将两组迁移放入不同的文件夹(EF6 的新功能)。

然后在运行 update-database 时,会为每个上下文正确创建表。update-database 命令需要一个 -ConfigurationTypeName 参数来指定要使用的确切迁移。

于 2013-11-05T13:35:01.040 回答