【问题标题】:Convert existing value from one type to another during EntityFramework migration?在 EntityFramework 迁移期间将现有值从一种类型转换为另一种类型?
【发布时间】:2017-04-03 07:38:56
【问题描述】:

我有:

    [Required]
    public string Proportion { get; set; }

这是一个字符串属性。我必须应用一些简单的逻辑将其转换为整数。 所以我的目标是 1) 保存现有比例,2) 删除字符串列并创建新的 int 列,并将其保存并转换为 int 值。 有可能吗?

【问题讨论】:

    标签: c# entity-framework entity-framework-migrations


    【解决方案1】:

    如果我正确理解了您的意图,您可以从模型中删除您的 Proportion 实体,而不是使用 update-database -force 迁移您的数据库,这将从您的数据库中删除该列。而不是将Proportion 实体重新创建为int 并再次迁移数据库。

    现在您将拥有与int 类型对应的模型和数据库Proportion 实体。当然,您将不得不使用另一个变量来存储字符串值,而不是将其解析为int 并将其存储到Proportion

    在您的问题中,您以复数形式谈论价值s。在我的回答中,我提到了int 属性,它只得到一个整数。如果您有诸如 width*height 之类的东西,我建议您将其解析为两个单独的属性。

    【讨论】:

    • 我的目标是保存现有数据。我知道可以使用int.Parse(...),但它看起来不是一个好的解决方案。如果我按照你的方式做,我会丢失所有数据。
    猜你喜欢
    • 2011-09-24
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 2020-12-14
    • 1970-01-01
    相关资源
    最近更新 更多