向IdentityUser添加属性不会创建正确的迁移

时间:2014-12-28 12:38:22

标签: asp.net-mvc entity-framework asp.net-mvc-5 ef-migrations

我已按照此处的教程:Customizing profile information in ASP.NET Identity in VS 2013 templates

并完全按照那里所写的那样做了,除了我的新属性是一个名为' TaxId'的字符串。令人惊讶的是,当我做了#34; Add-Migration"部分,迁移文件空了:

namespace Mvc5Test.Migrations
{
    using System;
    using System.Data.Entity.Migrations;

    public partial class TaxId : DbMigration
    {
        public override void Up()
        {
        }

        public override void Down()
        { 
        }
    }
}

知道为什么会这样,以及解决问题的正确方法是什么? (我想避免手动更新迁移文件......)

编辑:

public class ApplicationUser : IdentityUser
{
    public string TaxId { get; set; }
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        return userIdentity;
    }
}

1 个答案:

答案 0 :(得分:2)

问题是我已经有了自己的数据库上下文。 使用此解决方案,取自here

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

    public DbSet<Blog> Blogs { get; set; }
    public DbSet<Post> Posts { get; set; }

}