Rumah >pembangunan bahagian belakang >C++ >Mengapa Kod Rangka Kerja Entiti Saya Membuang 'Jenis entiti bukan sebahagian daripada model untuk konteks semasa'?

Mengapa Kod Rangka Kerja Entiti Saya Membuang 'Jenis entiti bukan sebahagian daripada model untuk konteks semasa'?

Barbara Streisand
Barbara Streisandasal
2025-01-01 06:18:36386semak imbas

Why Does My Entity Framework Code Throw

Memahami Ralat Pemetaan Entiti dalam Rangka Kerja Entiti

Dalam pendekatan Rangka Kerja Entiti pertama kod anda, anda mengalami ralat "Jenis entiti bukan sebahagian daripada model untuk konteks semasa." Ini menunjukkan bahawa entiti yang anda cuba akses atau ubah suai tidak dikenali oleh DbContext.

Peranan Pemetaan Entiti

Dalam kod pertama, EF membuat kesimpulan entiti dan pemetaan daripada kelas domain anda. Walau bagaimanapun, kadangkala pemetaan eksplisit diperlukan, terutamanya apabila nama entiti atau nama jadual berbeza. Kaedah OnModelCreating dalam kelas DbContext tersuai membolehkan anda mentakrifkan pemetaan ini.

Pemetaan Tersuai untuk Entiti

Untuk menyelesaikan isu anda, tambahkan kod berikut pada kaedah OnModelCreating dalam DbContext anda:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Estate>().ToTable("Estate");
}

Ini mengarahkan EF untuk memetakan Entiti harta pusaka ke jadual "Pusaka". Pastikan jadual ini sudah wujud dalam pangkalan data anda atau migrasi didayakan.

Petua Tambahan

  • Konfigurasi pemetaan berasingan: Daripada mentakrifkan pemetaan dalam DbContext, anda boleh mencipta kelas EntityTypeConfiguration yang berasingan untuk menguruskan pemetaan untuk tertentu entiti.
  • Permulaan Pangkalan Data: Jika jadual anda tidak dibuat secara automatik, anda mungkin perlu mendayakan permulaan pangkalan data atau mencipta jadual secara manual.
  • Penghijrahan Automatik: Dayakan migrasi automatik untuk mengemas kini skema pangkalan data secara automatik berdasarkan perubahan model.

Atas ialah kandungan terperinci Mengapa Kod Rangka Kerja Entiti Saya Membuang 'Jenis entiti bukan sebahagian daripada model untuk konteks semasa'?. 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