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

Patricia Arquette
Lepaskan: 2024-10-28 20:38:02
asal
759 orang telah melayarinya

Why Does Entity Framework Create Plural Table Names While My View Expects Singular Names in MySQL?

Rangka Kerja Entiti Mencipta Nama Jadual Plural, tetapi View Menjangkakan Nama Jadual Tunggal

Menggunakan MySQL .NET Connector 6.4.4.0 dan Entiti Framework 4.1, pembangun mungkin menghadapi masalah di mana Rangka Kerja Entiti mencipta jadual dengan nama jamak, tetapi pandangan untuk objek menjangkakan nama jadual tunggal. Ini boleh mengakibatkan ralat semasa cuba memaparkan paparan.

Butiran Ralat

Ralat biasanya berlaku dengan pengecualian berikut:

Table 'mydb.vote' doesn't exist
Salin selepas log masuk

Pengecualian ini dilemparkan apabila lihat percubaan untuk mengakses jadual bernama "undi" apabila Rangka Kerja Entiti telah mencipta jadual dengan nama "undi" (dengan mengandaikan kelas entiti dinamakan "Undi").

Punca

Puncanya ralat ini berkaitan dengan konvensyen Rangka Kerja Entiti untuk menjamakan nama jadual. Secara lalai, Rangka Kerja Entiti akan menjamakan nama kelas entiti apabila menjana nama jadual. Walau bagaimanapun, faktor luaran tertentu, seperti sokongan MySQL .NET Connector untuk Rangka Kerja Entiti, boleh menjejaskan tingkah laku ini.

Penyelesaian

Untuk menyelesaikan isu ini, beberapa langkah boleh diambil:

  1. Pastikan 'DropDatabaseIfExists' atau 'DropCreateDatabaseAlways' digunakan: Kaedah ApplicationStart harus menetapkan pemula pangkalan data dengan betul.
  2. Alih keluar percanggahan tunggal/plural daripada pangkalan data: Ini boleh dicapai dengan mengalih keluar PluralizingTableNameConvention atau dengan memanggil ToTable("Votes") dalam OnModelCreating.
  3. Pastikan pangkalan data wujud sebelum menjalankan aplikasi: MySQL .NET Penyambung mungkin tidak mencipta pangkalan data secara automatik, jadi mencipta pangkalan data secara manual mungkin diperlukan.

Dengan mengikuti langkah ini, percanggahan antara nama jadual jamak yang dicipta oleh Rangka Kerja Entiti dan nama jadual tunggal yang dijangkakan oleh pandangan boleh diselesaikan.

Atas ialah kandungan terperinci Mengapa Rangka Kerja Entiti Mencipta Nama Jadual Plural Sementara Pandangan Saya Menjangkakan Nama Tunggal dalam MySQL?. 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