[英]EF Code First Migration - Property migration
所以想象一下这种情况:
namespace SC.BL.Domain
{
public class User
{
public String Name { get; set; }
public String Adress { get; set; }
public int PhoneNumber { get; set; }
public char Gender { get; set; }
}
}
EF 代码优先迁移已启用。 我使用“enable-migrations”实现了基于代码的迁移
我的DbInitializer设置为使用MigrateDatabaseToLatestVersion初始值设定项
现在我的问题是,我想将一个属性迁移到多个属性,而不会丢失数据,之后可能会删除旧属性!
假设我的数据库中有以下内容,
姓名:用户 1
地址:Emmalaan 2, Gelderland
电话号码:0471250950
性别:男
现在我想将我的 User 类更改为以下内容:
namespace SC.BL.Domain
{
public class User
{
public String Name { get; set; }
public String StreetName { get; set; }
public int HouseNumber { get; set; }
public String City { get; set; }
public int PhoneNumber { get; set; }
public char Gender { get; set; }
}
}
所以现在我希望在迁移后,数据库中的数据被更改(没有数据丢失)并放入正确的属性中。 我在哪里可以让迁移者做这样的事情?
姓名:用户 1
街道名称:Emmalaan 2
门牌号:2
城市:海尔德兰
电话号码:0471250950
性别:男
这可以通过迁移实现吗? 这是如何完成的?
我认为您唯一能做的就是编辑生成的迁移以进行您想要的转换。
迁移的内部Up()方法:
在Down()方法中是Up()的反函数。
我认为这不可能通过迁移实现。 您想要更改表的结构,并且您希望迁移自动将不同列中的数据分开。 我认为这是不可能的。 我认为更好的方法是仅通过迁移添加列,然后您可以创建 SQL 过程来将数据拆分和更新到不同的列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.