2012-11-30 42 views
3

我正在使用Entity Framework Code First來查詢我的SQL Server數據庫。我還使用代碼遷移來保持它的最新狀態。使用EF代碼優先指定小數位作爲屬性

當我使用小數類型,底層列與的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正在如此快速地發展,很難跟上演變的步伐,也許我錯過了一些東西。

+0

有沒有特別的原因你不想使用'OnModeCreating'函數? –

+0

自定義約定返回EF6。 – Pawel

+3

我想保留與表結構有關的所有元數據在同一個類中。 –

回答