Entity framework 如何创建新列并首先使用实体框架代码将数据移动到其中
Person是一个包含数据的数据库表。由于新的要求,我想删除IsActive并有一个状态枚举。我还希望在不丢失数据的情况下将数据从IsActive列移动到Status列。我先用EF代码。我该怎么办呢?我终于解决了这个问题。我遵循的步骤如下:Entity framework 如何创建新列并首先使用实体框架代码将数据移动到其中,entity-framework,Entity Framework,Person是一个包含数据的数据库表。由于新的要求,我想删除IsActive并有一个状态枚举。我还希望在不丢失数据的情况下将数据从IsActive列移动到Status列。我先用EF代码。我该怎么办呢?我终于解决了这个问题。我遵循的步骤如下: 通过包管理器控制台构建添加迁移AlterStatusEnum 在生成的分部类的Up方法中,更改 AddColumn(“dbo.Person”,“Status”,c=>c.Int(可空:false)) 到 重命名栏目(“副总裁”、“活跃”、“状态”) 添加al
class Person
{
public int Id { get; set; }
//omitted for brevity
public bool IsActive { get; set; }
}
class Person
{
public int Id { get; set; }
//omitted for brevity
public int Status { get; set; }
}
enum Status
{
Active,
Inactive,
NoState,
}
简而言之,我所做的一切就是重命名现有列并更改其数据类型。是否使用迁移?如果是这样的话,只需要添加新列,运行一些sql,然后删除旧列
public partial class AlterStatusEnum : DbMigration
{
public override void Up()
{
RenameColumn("dbo.Person", "IsActive", "Status");
AlterColumn("dbo.Person", "Status", c => c.Int(nullable: false));
}
public override void Down()
{
// Removed for brevity
}
}