Mengkonfigurasi ketepatan dan skala jenis data perpuluhan dalam Kod EF Pertama
Dalam EF Code First, sifat jenis System.Decimal dipetakan ke lajur jenis perpuluhan(18, 0) dalam pangkalan data secara lalai. Untuk mengekalkan integriti data dan memastikan ketepatan operasi berangka, adalah penting untuk menyesuaikan ketepatan (jumlah bilangan digit yang disimpan) dan skala (bilangan tempat perpuluhan yang disimpan) lajur ini.
Jawapan asal Dave Van den Eynde mencadangkan bahawa dalam EF 4.0 dan lebih awal, cara yang disyorkan untuk melaraskan ketepatan adalah dengan mengulangi sifat dan menggunakan modelBuilder.Entity().Property().HasPrecision() dengan modelBuilder(). Property().HasScale(). Walau bagaimanapun, pendekatan ini telah ditamatkan dalam versi EF terkini.
Bermula dengan EF 4.1, kaedah DecimalPropertyConfiguration.HasPrecision menyediakan penyelesaian yang lebih mudah dan cekap. Ia menerima dua parameter:
Sintaks untuk menetapkan ketepatan dan skala dalam EF Code First adalah seperti berikut:
<code class="language-csharp">public class EFDbContext : DbContext { protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) { modelBuilder.Entity<MyClass>().Property(m => m.MyProperty).HasPrecision(12, 10); base.OnModelCreating(modelBuilder); } }</code>
Dengan pendekatan ini, kami boleh mentakrifkan ketepatan dan skala atribut perpuluhan secara eksplisit, memastikan lajur pangkalan data mewakili format dan julat data yang diperlukan dengan tepat. Ini amat penting apabila berurusan dengan kewangan atau data sensitif lain yang memerlukan ketepatan yang tinggi.
Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Ketepatan dan Skala untuk Jenis Data Perpuluhan dalam Kod EF Pertama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!