Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengabaikan Sifat Kelas dalam Rangka Kerja Entiti 4.1 dan Kemudian?

Bagaimana untuk Mengabaikan Sifat Kelas dalam Rangka Kerja Entiti 4.1 dan Kemudian?

Patricia Arquette
Patricia Arquetteasal
2025-01-13 16:22:17419semak imbas

How to Ignore Class Properties in Entity Framework 4.1 and Later?

Abaikan atribut kelas dalam Rangka Kerja Entiti 4.1 Kod Didahulukan

Setelah memahami batasan NotAvailableUntil dalam EF 5, mari kita terokai alternatif untuk mengabaikan sifat dalam EF 4.1.

Anotasi data

Gunakan anotasi sifat NotMapped untuk mengecualikan sifat tertentu daripada pemetaan Kod Pertama. Contohnya:

<code>public class Customer
{
    public int CustomerID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    [NotMapped]
    public int Age { get; set; }
}</code>

API Fasih

Sebagai alternatif, gunakan Fluent API dengan mengatasi fungsi OnModelCreating:

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

Pembetulan tentang perbezaan [NotMapped]

Atribut [NotMapped] harus menghalang lajur daripada dibuat dalam pangkalan data. Jika lajur masih dibuat walaupun menggunakan anotasi, sahkan bahawa anda menggunakan versi terkini EF (4.3).

Asp.NET Core 2.0 dan ke atas

Dalam Asp.NET Core 2.0, anda masih boleh menggunakan anotasi atribut NotMapped:

<code>public class Customer
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    [NotMapped]
    public int FullName { get; set; }
}</code>

Atau gunakan Fluent API dalam kelas SchoolContext anda:

<code>protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Customer>().Ignore(t => t.FullName);
    base.OnModelCreating(modelBuilder);
}</code>

Atas ialah kandungan terperinci Bagaimana untuk Mengabaikan Sifat Kelas dalam Rangka Kerja Entiti 4.1 dan Kemudian?. 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