未在数据库中添加新字段代码优先

时间:2013-04-02 17:55:26

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

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

0 个答案:

没有答案