Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengabaikan Sifat Kelas dalam Kod Rangka Kerja Entiti Pertama?

Bagaimana untuk Mengabaikan Sifat Kelas dalam Kod Rangka Kerja Entiti Pertama?

Linda Hamilton
Linda Hamiltonasal
2025-01-13 16:32:43161semak imbas

How to Ignore Class Properties in Entity Framework Code First?

Mengabaikan Harta Kelas dalam Rangka Kerja Entiti 4.1 Kod Didahulukan

Dalam Rangka Kerja Entiti (EF) 4.1, anda mungkin menghadapi keperluan untuk mengecualikan tertentu sifat daripada dimasukkan ke dalam skema pangkalan data. Nasib baik, terdapat dua pendekatan untuk mencapai ini.

Atribut [NotMapped]

Atribut ini ialah sebahagian daripada ruang nama System.ComponentModel.DataAnnotations dan boleh digunakan pada sifat untuk menunjukkan bahawa mereka harus diabaikan oleh EF.

[NotMapped]
public int Age { get; set; }

Fasih API

Sebagai alternatif, anda boleh menggunakan Fluent API untuk mengatasi fungsi OnModelCreating dalam kelas DBContext anda:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Customer>().Ignore(t => t.LastName);
    base.OnModelCreating(modelBuilder);
}

Nota Tambahan

  • [NotMapped] berfungsi dalam EF versi 4.1 dan kemudian.
  • Pendekatan Fluent API tersedia dalam semua versi EF.
  • Sifat yang ditanda sebagai [NotMapped] tidak akan dipetakan ke lajur dalam pangkalan data, walaupun ia adalah sebahagian daripada IDisposeable pelaksanaan.

Asp.NET Core (2.0)

Untuk versi EF yang lebih baharu, pendekatannya adalah serupa:

Atribut [NotMapped]

[NotMapped]
public int FullName { get; set; }

API Fasih

modelBuilder.Entity<Customer>().Ignore(t => t.FullName);

Dengan menggunakan teknik ini, anda boleh mengecualikan sifat secara berkesan daripada dipetakan ke pangkalan data, membenarkan fleksibiliti dalam pemodelan data anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengabaikan Sifat Kelas dalam Kod Rangka Kerja Entiti 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