Ralat Pemetaan Model dalam Rangka Kerja Entiti
Apabila menggunakan pendekatan Kod-Pertama dalam Rangka Kerja Entiti, adalah penting untuk memastikan model itu dipetakan dengan betul ke pangkalan data. Satu ralat biasa yang dihadapi ialah "Jenis entiti
Ralat ini biasanya berlaku apabila DbContext tidak mengetahui jenis entiti sedang diakses atau diubah suai. Untuk menyelesaikan isu ini, anda perlu memetakan entiti secara eksplisit ke jadual pangkalan data dalam DbContext.
Untuk kod yang disediakan, penyelesaiannya terletak pada mengatasi kaedah OnModelCreating dalam tersuai DimensionWebDbContext kelas:
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Estate>().ToTable("Estate"); }
Oleh menyatakan nama jadual dalam kaedah ToTable, anda mengarahkan DbContext bahawa entiti Estate harus dipetakan ke jadual "Estate" dalam pangkalan data.
Tanpa pemetaan eksplisit ini, Rangka Kerja Entiti mengandaikan bahawa entiti memetakan ke jadual dengan nama yang sama dengan nama kelasnya (Pusaka dalam kes ini). Memandangkan pangkalan data belum lagi dimulakan, ia tidak mengandungi jadual dengan nama itu, yang membawa kepada ralat.
Dengan memetakan entiti dengan betul, Rangka Kerja Entiti boleh mengenal pasti jadual untuk berinteraksi, menyelesaikan ralat dan membenarkan pemasukan dan pengubahsuaian entiti daripada repositori.
Atas ialah kandungan terperinci Mengapa Rangka Kerja Entiti Melemparkan 'Jenis entiti bukan sebahagian daripada model untuk konteks semasa' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!