在 EntityFramework 迁移期间将现有值从一种类型转换为另一种类型?
Convert existing value from one type to another during EntityFramework migration?
我有:
[Required]
public string Proportion { get; set; }
这是一个字符串 属性。我必须应用一些简单的逻辑将其转换为整数。
所以我的目标是 1) 保存现有比例,2) 删除字符串列并创建新的 int 列并保存并转换为 int 值。 可能吗?
如果我理解正确,您可以从模型中删除您的 Proportion
实体,而不是使用 update-database -force
迁移您的数据库,这将从您的数据库中删除该列。而不是将 Proportion
实体重新创建为 int
并再次迁移数据库。
现在您将拥有与 Proportion
实体的 int
类型相对应的模型和数据库。当然,您将不得不使用另一个变量来存储字符串值,而不是将其解析为 int
并将其存储到 Proportion
.
在你的问题中,你用复数形式谈论 values。在我的回答中,我提到了 int
属性 ,它只得到一个整数。如果你有像 width*height 这样的东西,我建议解析成两个单独的属性。
我有:
[Required]
public string Proportion { get; set; }
这是一个字符串 属性。我必须应用一些简单的逻辑将其转换为整数。 所以我的目标是 1) 保存现有比例,2) 删除字符串列并创建新的 int 列并保存并转换为 int 值。 可能吗?
如果我理解正确,您可以从模型中删除您的 Proportion
实体,而不是使用 update-database -force
迁移您的数据库,这将从您的数据库中删除该列。而不是将 Proportion
实体重新创建为 int
并再次迁移数据库。
现在您将拥有与 Proportion
实体的 int
类型相对应的模型和数据库。当然,您将不得不使用另一个变量来存储字符串值,而不是将其解析为 int
并将其存储到 Proportion
.
在你的问题中,你用复数形式谈论 values。在我的回答中,我提到了 int
属性 ,它只得到一个整数。如果你有像 width*height 这样的东西,我建议解析成两个单独的属性。