首頁 > 後端開發 > C++ > 如何控制 EF Code First 中小數屬性的精確度和小數位數?

如何控制 EF Code First 中小數屬性的精確度和小數位數?

Susan Sarandon
發布: 2025-01-21 23:26:09
原創
334 人瀏覽過

How Can I Control Precision and Scale for Decimal Properties in EF Code First?

在 EF Code First 中微調小數精度和小數位

對應到 SQL Server 時,實體框架 (EF) Code First 預設為 decimal(18, 0) 屬性的 System.Decimal。 但是,您通常需要對精度和比例進行更多控制。 涉及直接 EntityPropertyConfiguration 操作的舊方法現已過時,並被 EF 4.1 及更高版本中更簡化的方法所取代。

利用DecimalPropertyConfiguration.HasPrecision

DecimalPropertyConfiguration類別提供了HasPrecision方法來進行精確控制。 其語法為:

<code class="language-csharp">public DecimalPropertyConfiguration HasPrecision(byte precision, byte scale)</code>
登入後複製
  • precision:總位數(小數點前後)。
  • scale:小數點後的位數。

實際範例:設定精確度與比例

DbContext 類別的 OnModelCreating 方法中,您可以指定精確度和小數位數:

<code class="language-csharp">public class EFDbContext : DbContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<MyClass>().Property(e => e.MyDecimalProperty).HasPrecision(12, 10);

        base.OnModelCreating(modelBuilder);
    }
}</code>
登入後複製

這會將 MyDecimalProperty 實體中的 decimal(類型為 MyClass)對應到 SQL Server decimal(12, 10) 欄位。 這可確保資料庫儲存最多 12 位數字,最多 10 位小數。

以上是如何控制 EF Code First 中小數屬性的精確度和小數位數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板