1

我正在关注SimpleMembershipProvider教程,该教程是关于使用 userprofile 表中的自定义字段移动到您自己的数据库。我在代码中添加了一些新字段:

[Table("UserProfile")]
public class UserProfile
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }
    public string UserName { get; set; }
    public string Mobile { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

然后我运行 Add-Migration 命令。它会生成一个如下所示的######.cs 文件:

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

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

        public override void Down()
        {
        }
    }
}

up() 和 Down() 方法的主体是空的。不知何故,它没有检测到我所做的新更改(添加了 FirstName 和 LastName 字段)。

我在这里想念什么?

编辑:

我将相同的字段添加到我创建的另一个表中,并且该表确实在数据库中得到了更新。

这是 Add-Migration 产生的:

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

    public partial class test : DbMigration
    {
        public override void Up()
        {
            AddColumn("dbo.TestTabel", "FirstName", c => c.String());
            AddColumn("dbo.TestTabel", "LastName", c => c.String());
        }

        public override void Down()
        {
            DropColumn("dbo.TestTabel", "LastName");
            DropColumn("dbo.TestTabel", "FirstName");
        }
    }
}

所以问题已经缩小到 userprofile 表。这张桌子有什么特别之处,无法更改?

4

0 回答 0