如何将IdentityDbContext解析为MyDbContext

时间:2016-09-29 18:59:55

标签: c# asp.net-core

我是Entity框架核心1的新手,这是我第一次使用.NET核心开发WebApp,之前我只使用传统的asp.net,您可以使用图形设计器开发模型,或者只使用现有的模型生成模型数据库(我知道这些东西也可以在.net核心中完成,但不像在.net 4中那样简单)

我有一个复杂的数据库模型,有许多一对多和多对多的关系,它在开发过程中有很多变化,现在我正在尝试生成一个管理所有模型的简单数据库。包括我的自定义模型和ApplicationUser模型。我需要找到如何解散这个默认的IdentityDbContext:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
        // Customize the ASP.NET Identity model and override the defaults if needed.
        // For example, you can rename the ASP.NET Identity table names and more.
        // Add your customizations after calling base.OnModelCreating(builder);
    }
}

进入:

public class MyDbContext : DbContext
{
    public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
    {

    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
    }
}

我已经搜索了stackoverflow以获取我的答案,一些答案为不同的表建议了不同的DbContexts,或者使用不同的数据库创建了我的网站。我没有找到这个好主意。维护多个数据库是低效的,并且考虑到几乎所有的表都与具有不同DbContext的关系相关联也不是很可爱。

和其他答案说我的所有工作都可以在一个DBContext中完成,我记得有一个答案说IdentityDbContext中只有2个额外的变量(ApplicationUsers和Roles),但没有一个答案提到如何将这2个元素放入MyDbContext。我的问题简直就是如何做到这一点(这个问题已经很久了,因为我想说清楚我不是在寻找替代方法)

0 个答案:

没有答案