c# - 合并 DBContext 和 IdentityDbContext

标签 c# asp.net-mvc entity-framework

是否可以合并 DBContext 和 IdentityDbContext - 启用迁移,然后使用一个更新语句管理对我的数据库的代码优先更新?

即。在我的 IdentityModels.cs 文件中,我有:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("tbConn", throwIfV1Schema: false)
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

在我的 tbContext.cs 文件中(当我添加模型类时创建的)我有:

namespace tb.Models
{
public class tbContext : DbContext
{
    public tbContext() : base("name=tbConn")
    {
        Database.SetInitializer<tbContext>(new tbInitializer<tbContext>());
    }
    public System.Data.Entity.DbSet<tb.Models.Tour> Tours { get; set; }
}
}

public class tbInitializer<T> : DropCreateDatabaseAlways<tbContext>
{
    protected override void Seed(tbContext context)
    {
        ApplicationDbContext userscontext = new ApplicationDbContext();
        var userStore = new UserStore<ApplicationUser>(userscontext);
        var userManager = new UserManager<ApplicationUser>(userStore);

        // Create user
        if (!userscontext.Users.Any(x => x.UserName == "marktest"))
        { var user = new ApplicationUser { UserName = "marktest", Email = "marktest@gmail.com" }; userManager.Create(user, "Pa$$w0rd!");}

        var tour = new List<Tour>
        { // seed database code };
        tour.ForEach(s => context.Tours.Add(s));
        context.SaveChanges();
    }
}

有什么方法可以合并这两个上下文,这样我就只有一个数据库和一个要管理的上下文?

感谢您的帮助,

标记

最佳答案

IdentityDbContext 默认继承自 DBContext。 无需创建新上下文(在您的情况下为 tbContext)- 只需从 IdentityModels.cs 中剪切并粘贴 ApplicationDbContext 并将其放入您的数据层。

关于c# - 合并 DBContext 和 IdentityDbContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29145310/

相关文章:

c# - 使用 ServiceConfiguration (Azure) 中的连接字符串自定义 DbContext

entity-framework - 在 Entity Framework 中运行sql?

c# - 如何扩展继承的方法而不是覆盖它?

c# - 非通用声明不允许约束

sql - 使用带参数的Database.ExecuteSqlCommand的正确语法是什么?

c# - 将 StreamReader 转换回 pdf

asp.net-mvc - 如何在 MVC5 中为用户分配角色?

c# - 更新和删除消息中的数字不同

c# - 这个指针算术真的是线程安全的吗?

c# - SQL Server Express 的代码优先;操作系统错误 2