MVC/Code 第一:如何将更多的表添加到同一个数据库上下文中?

MVC/Code First: how to add more tables to the same db context?

我正在使用 VS 2013 附带的标准 MVC 模板。它有一个简洁的会员提供程序,使使用外部登录(Google、Facebook 等)变得轻而易举。还有关于如何扩展 IdentityUser 模型以添加新属性(例如出生日期)的教程。

我想将(我的应用程序的)更多表添加到已经编码的数据库上下文中,以便享受相同的代码优先迁移功能。我该怎么做?当前数据库上下文定义如下:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection", throwIfV1Schema: false)
    {
    }
    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

您正在使用 asp.net MVC5 identity 2,然后 ApplicationDbContext 已经存在于 IdentityModels.cs 中。因此您可以像这样添加 table (DbSet)。

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

public DbSet<Department> Departments { get; set; }
public DbSet<Student> Students { get; set; }

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