Update-Database不更新标识表

时间:2015-10-30 17:59:37

标签: asp.net-mvc asp.net-identity ef-migrations

我正在尝试使用自动迁移来更新我的数据库。我最近在身份模型中添加了一些属性:

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")
        {
        }
    }
}

任何想法如何让这些表得到认可?

1 个答案:

答案 0 :(得分:1)

您的应用程序有两个DbContexts:CISCDb和IdentityDbContext,并且您仅为CISCDb上下文配置了迁移。因此,身份上下文中的更改不包含在CISCDb迁移中。

您应该能够像使用其他上下文一样为IdentityContext配置迁移。