Memperhalusi Ketepatan dan Skala Perpuluhan dalam Kod EF Didahulukan
Kod Rangka Kerja Entiti (EF) Pertama lalai kepada decimal(18, 0)
untuk sifat System.Decimal
apabila memetakan ke SQL Server. Walau bagaimanapun, anda sering memerlukan lebih kawalan ke atas ketepatan dan skala. Kaedah lama yang melibatkan manipulasi langsung EntityPropertyConfiguration
kini sudah lapuk, digantikan dengan pendekatan yang lebih diperkemas dalam EF 4.1 dan kemudian.
Memanfaatkan DecimalPropertyConfiguration.HasPrecision
Kelas DecimalPropertyConfiguration
menyediakan kaedah HasPrecision
untuk kawalan yang tepat. Sintaksnya ialah:
<code class="language-csharp">public DecimalPropertyConfiguration HasPrecision(byte precision, byte scale)</code>
precision
: Jumlah bilangan digit (sebelum dan selepas titik perpuluhan).scale
: Bilangan digit selepas titik perpuluhan.Contoh Praktikal: Menetapkan Ketepatan dan Skala
Dalam DbContext
kaedah OnModelCreating
kelas anda, anda boleh menentukan ketepatan dan skala:
<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>
Ini memetakan MyDecimalProperty
(jenis decimal
) dalam entiti MyClass
ke lajur SQL Server decimal(12, 10)
. Ini memastikan pangkalan data menyimpan nombor dengan maksimum 12 digit, dengan sehingga 10 tempat perpuluhan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengawal Ketepatan dan Skala untuk Sifat Perpuluhan dalam Kod EF Dahulu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!