合并IdentityDbContext和DbContext ASP.NET MVC

3

我希望在ASP.NET MVC项目中只有一个DbContext。那么,我该如何将默认的IdentityDbContext与我的自定义代码DbContext合并?它们使用同一个数据库。

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

这是IdentityModel.cs类中提供的默认内容。

以下操作是否安全?并且可以增加我的自定义DbSets吗?

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

    public DbSet<Student> Students { get; set; }
    public DbSet<Standard> Standards { get; set; }
}

非常感谢您的建议!


1
这是我在项目中的做法。然后我将用户管理器、角色管理器等放入存储库中。我可以单元测试我的业务逻辑层,例如服务,然后单独集成测试我的存储库,也可以通过服务进行集成测试。 - Kyle
1个回答

1

是的,在DbContext类中添加DbSet声明是完全可以的。通常情况下,您可能会为一组相关的表创建一个上下文,当您从存储库中访问它时,这将是有意义的,例如ApplicationDbContext用于用户注册、登录等,另一个用于学生和相关实体。

如果您有很多上下文,也许您应该检查有关有界上下文"模式"https://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/DEV-B336#fbid=wH4n-081m_U


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接