Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Ralat \'Tiada Pembekal Rangka Kerja Entiti Ditemui\' dengan MySQL?

Bagaimana untuk Membetulkan Ralat \'Tiada Pembekal Rangka Kerja Entiti Ditemui\' dengan MySQL?

Barbara Streisand
Barbara Streisandasal
2024-10-29 07:19:02864semak imbas

How to Fix the

Mengatasi Isu "Tiada Pembekal Rangka Kerja Entiti Ditemui" dengan MySQL dan EF

Mesej ralat "Tiada pembekal Rangka Kerja Entiti ditemui untuk 'MySql .Data.MySqlClient' ADO.NET provider" menunjukkan bahawa Rangka Kerja Entiti (EF) tidak dapat mencari pembekal yang sesuai untuk pangkalan data MySQL. Untuk menyelesaikan isu ini, langkah berikut perlu diambil:

Pertama sekali, pastikan penyambung MySQL terkini dipasang. Adalah disyorkan untuk menggunakan penyambung MySQL versi 6.8.X atau lebih baru.

Seterusnya, dalam versi EF sebelum 6, pembekal boleh didaftarkan dalam bahagian 'system.Data.DbProviderFactories' pada fail konfigurasi aplikasi. Kaedah ini, bagaimanapun, tidak akan berfungsi dalam EF6 dan ke atas.

Untuk EF6 dan yang lebih baru, perkara berikut perlu dilakukan:

  1. Pasang pakej MySQL.Data.Entity.EF6 NuGet . Pakej ini mengandungi himpunan pembekal yang diperlukan.
  2. Tambahkan atribut berikut pada kelas DbContext anda:
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
public class DemoContext : DbContext { }

Jenis MySqlEFConfiguration terletak dalam MySql.Data.Entity.EF6. dll perhimpunan. Atribut ini memberitahu EF tentang jenis kilang pembekal untuk digunakan.

Pastikan rentetan sambungan anda dikonfigurasikan dengan betul. Dalam fail konfigurasi yang anda berikan, rentetan sambungan tidak mempunyai atribut "providerName". Ia sepatutnya kelihatan seperti ini:

<add name="myContext" connectionString="server=****;User Id=****;password=****;Persist Security Info=True;database=myDb" providerName="MySql.Data.MySqlClient" />

Setelah langkah ini selesai, EF seharusnya dapat mengenali penyedia MySQL dan berjaya menyambung ke pangkalan data MySQL.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'Tiada Pembekal Rangka Kerja Entiti Ditemui\' dengan MySQL?. 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