首先使用EF代码将十进制刻度指定为属性

时间:2012-11-30 17:10:40

标签: c# entity-framework ef-code-first

我正在使用Entity Framework Code First来查询我的SQL Server数据库。我也在使用代码迁移来保持最新状态。

当我使用小数类型时,创建的基础列的精度/比例为18,2。对于一个特定的列(汇率),我想将其增加到18,6。

我想在我的类中添加一个属性,指示EF使用指定的小数精度,如下例所示:

public class Transaction
{
    [Key]
    public int ID { get; set; }

    ...

    [DisplayName("Exchange Rate")]
    [DecimalPrecision(18, 6)]
    public decimal? ExchangeRate { get; set; }

}

我做想要做的是将OnModelCreating函数更新为建议in this question

超过here我发现了一个潜在的解决方案,但后来我发现代码无法编译,因为它基于之前删除的预发布功能。

提出了一个替代方案here,但这看起来很复杂,也许在我涉足之前,我想我可能会问是否存在替代方案? EF正在快速移动,很难跟上变化,也许我错过了一些东西。

1 个答案:

答案 0 :(得分:2)

我创建了相同的自定义属性和运行它的代码 你可以在https://stackoverflow.com/a/15386883/1186032

看到答案 祝你好运!