Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Mengawal Ketepatan dan Skala Perpuluhan dalam Kod Teras EF-Migrasi Pertama?

Bagaimanakah Saya Mengawal Ketepatan dan Skala Perpuluhan dalam Kod Teras EF-Migrasi Pertama?

Susan Sarandon
Susan Sarandonasal
2025-01-21 23:36:11774semak imbas

How Do I Control Decimal Precision and Scale in EF Core Code-First Migrations?

Memahami Ketepatan dan Skala Perpuluhan dalam Kod Teras EF-Migrasi Pertama

Pendekatan Kod-Pertama Teras Rangka Kerja Entiti memerlukan pertimbangan yang teliti apabila memetakan sifat perpuluhan kepada lajur pangkalan data. Walaupun pemetaan lalai adalah decimal(18, 0) dalam SQL Server, anda selalunya perlu menyesuaikan ketepatan dan skala untuk keperluan data tertentu.

Menentukan Ketepatan dan Skala

Untuk mengawal ketepatan dan skala lajur perpuluhan anda, manfaatkan kaedah HasPrecision dalam kelas DecimalPropertyConfiguration. Kaedah ini menerima dua hujah: precision (jumlah bilangan digit) dan scale (bilangan tempat perpuluhan).

Contoh Ilustrasi:

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

        base.OnModelCreating(modelBuilder);
    }
}</code>

Dalam coretan kod ini, MyDecimalProperty dikonfigurasikan dengan ketepatan 12 dan skala 10, membolehkan jumlah 12 digit dengan 10 tempat selepas titik perpuluhan.

Pertimbangan Penting:

  • Kaedah HasPrecision tidak disokong dalam versi EF yang lebih lama (cth., EF 4.1). Untuk versi ini, gunakan kaedah HasColumnType seperti yang ditunjukkan di bawah:

    <code class="language-csharp">  modelBuilder.Entity<MyClass>().Property(e => e.MyDecimalProperty).HasColumnType("decimal(12, 10)");</code>
  • Ingat bahawa precision mewakili bilangan keseluruhan digit, manakala scale secara khusus merujuk kepada digit yang mengikuti titik perpuluhan.

Atas ialah kandungan terperinci Bagaimanakah Saya Mengawal Ketepatan dan Skala Perpuluhan dalam Kod Teras EF-Migrasi Pertama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn