我正在尝试使用自动迁移来更新我的数据库。我最近在身份模型中添加了一些属性:
namespace CISC_Website.Models
{
public class ApplicationUser : IdentityUser
{
public string Email { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public bool ConfirmedEmail { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("CISCDb")
{
}
}
}
但是,无论何时运行update-database命令,都不会推送这些更改,因为我的用户表仍然与首次创建时相同。
以下是我的迁移文件夹的内容:
namespace CISC_Website.Migrations
{
using System;
using System.Data.Entity;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Collections.Generic;
internal sealed class Configuration : DbMigrationsConfiguration<CISC_Website.Models.CISCDb>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(CISC_Website.Models.CISCDb context)
{
//seed data...
}
}
}
我最初在运行启用迁移命令时知道,身份模型表示如下:
namespace CISC_Website.Models
{
public class ApplicationUser : IdentityUser
{
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
}
任何想法如何让这些表得到认可?
答案 0 :(得分:1)
您的应用程序有两个DbContexts:CISCDb和IdentityDbContext,并且您仅为CISCDb上下文配置了迁移。因此,身份上下文中的更改不包含在CISCDb迁移中。
您应该能够像使用其他上下文一样为IdentityContext配置迁移。