我在我的类中重命名了一列。它看起来像这样。
public class clsClassForStackoverflow
{
[Column(TypeName = "varchar"), StringLength(150)]
public string Name { get; set; }
由于结构发生了变化,我不得不对其进行重命名。因此,我删除了该行并添加了新属性。之后,我创建了一个新的迁移文件来准备我的数据库更新,在文件中,他想要删除旧列并添加新列。好吧,我将删除更改为重命名,因为数据库中仍有数据。如果删除它,数据就会消失。
新的迁移文件:
public partial class _100126_2 : DbMigration
{
public override void Up()
{
RenameColumn("dbo.tbClassForStackoverflow", "ClassForStackoverflow_Name", "ClassForStackoverflow_NewName");
}
public override void Down()
{
RenameColumn("dbo.tbClassForStackoverflow", "ClassForStackoverflow_NewName", "ClassForStackoverflow_Name");
}
}
在启动数据库更新后,我查看了我的类,发现属性没有改变。它仍然被命名为“Name”,而不是“NewName”。我怎样才能在不让EF认为我删除并添加了一列的情况下更改它呢?