Mengapa Rangka Kerja Entiti Mencipta Jadual Plural Sementara Pandangan Saya Menjangkakan Jadual Tunggal?

Barbara Streisand
Lepaskan: 2024-10-29 10:29:30
asal
443 orang telah melayarinya

 Why Does Entity Framework Create a Plural Table While My View Expects a Singular Table?

Rangka Kerja Entiti Mencipta Jadual Plural Sementara View Menjangkakan Jadual Tunggal

Dalam kod yang disediakan, Rangka Kerja Entiti mencipta berbilang jadual walaupun paparan memerlukan satu meja. Percanggahan ini berlaku kerana perbezaan dalam nama jadual yang dicipta oleh Rangka Kerja Entiti dan jadual yang dirujuk oleh paparan.

Jadual yang dibuat oleh Rangka Kerja Entiti mengikut konvensyen penggandaan nama entiti. Oleh itu, dalam kes ini, jadual bernama "Undi" dijana. Walau bagaimanapun, paparan menjangkakan jadual bernama "Undi." Sebab utama untuk ini ialah sokongan penyambung MySQL .net terhadap EF. Mengalih keluar pemajmukan dan membuat pelarasan lain harus menyelesaikan isu.

Pertama, kaedah "ApplicationStart" mengandungi ralat kecil:

// Database.SetInitializer(new DropCreateDatabaseAlways<myDB>());
Database.SetInitializer(new myDBInitializer());
Salin selepas log masuk

Selain itu, melumpuhkan pelaksanaan asas "OnModelCreating" ialah diperlukan:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    // modelBuilder.Entity<Vote>().ToTable("Votes")
    modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
Salin selepas log masuk

Adalah juga telah dicadangkan bahawa MySQL .net Connector menghalang EF daripada menghasilkan pangkalan data, yang memerlukan penciptaan DB kosong terlebih dahulu. Had ini tidak digunakan pada versi penyambung 6.4.4 dalam senario semasa. Mencipta pangkalan data adalah lebih baik jika pengguna mempunyai kebenaran yang diperlukan.

Pelarasan ini harus menyelesaikan percanggahan antara nama jadual jamak yang dicipta oleh Rangka Kerja Entiti dan nama jadual tunggal yang dijangkakan oleh paparan.

Atas ialah kandungan terperinci Mengapa Rangka Kerja Entiti Mencipta Jadual Plural Sementara Pandangan Saya Menjangkakan Jadual Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan