我正在关注本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 表。这张桌子有什么特别之处,无法更改?