“ update-database”命令未更新基础数据库中的模型

时间:2018-12-09 12:39:39

标签: c# entity-framework

以前我有这两个类,为此我创建了迁移,并生成了数据库表。 但是我必须按特定顺序向Type添加另一个属性,因此我创建了一个空迁移,并使用“ sql”方法并由于外键约束而删除了这两个表。 现在,我对“类型”类进行了所有更改。 所以我正在使用update-database commmand EntityFramework不选择这些类吗?

给定类=>“更改前”。

public class Type
{
    public int Id { get; set; }
    public int SignUpFee { get; set; }
    public int Discount { get; set; }
}

public class Customer
{
    public int Id { get; set; }
    public string Name { get; set; }
    public Type Type { get; set; }
    public int TypeId { get; set; }
}

1 个答案:

答案 0 :(得分:0)

因此,基本上,您需要从表“ __ MigrationHistory ”中删除与这些表相关的较早迁移记录,并从Migration文件夹中删除较早相关的迁移文件以用于将来的迁移运行(声明)并添加针对这些类就像:

public class TypeMapping : EntityTypeConfiguration<Type>
    {
        public TypeMapping()
        {
            // Keys
            HasKey(t => t.ID);

            //Property
            Property(t => t.SignUpFee);
            Property(t => t.Discount);            

            //Table
            ToTable("Type");
        }
    }

public class CustomerMapping : EntityTypeConfiguration<Customer>
        {
            public CustomerMapping()
            {
                // Keys
                HasKey(t => t.ID);

                //Property
                Property(t => t.Name);

                //Table
                ToTable("Customer");
            }
        }

然后,运行以下命令:

1)添加迁移“ MigrationName” 2)更新数据库