我正在关注this教程,该教程是关于使用userprofile表中的自定义字段将SimpleMembershipProvider
移动到您自己的数据库。我在代码中添加了一些新字段:
[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表。关于这张桌子有什么特别之处,它无法改变?