Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mewujudkan Sambungan MySQL Dinamik dengan Rangka Kerja Entiti 6?

Bagaimana untuk Mewujudkan Sambungan MySQL Dinamik dengan Rangka Kerja Entiti 6?

Susan Sarandon
Susan Sarandonasal
2024-11-07 20:40:03405semak imbas

How to Establish a Dynamic MySQL Connection with Entity Framework 6?

Sambungan MySQL Dinamik dengan Rangka Kerja Entiti 6

Menyambung kepada nama pangkalan data dinamik menggunakan Rangka Kerja Entiti 6 melibatkan pertimbangan tertentu.

Mendapatkan Keserasian MySQL

  • Pasang MySQL .Net Connector 6.8.1.
  • Rujukan Mysql.Data.dll dan Mysql.Data.Entity.EF6. dll.
  • Sertakan rentetan sambungan dan pembekal dalam Web.config:
<connectionStrings>
  <add name="mysqlCon" connectionString="Server=localhost;Database={0};Uid=username;Pwd=password" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

<entityFramework>
  <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
  <providers>
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
  </providers>
</entityFramework>

Sambungan Pangkalan Data Dinamik

  • Buat kaedah pembantu untuk membina rentetan sambungan dengan pemegang tempat untuk nama pangkalan data:
public static string GetConnectionString(string dbName)
{
    var connString = ConfigurationManager.ConnectionStrings["mysqlCon"].ConnectionString.ToString();
    return String.Format(connString, dbName);
}
  • Ubah suai kelas ApplicationDbContext:
public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(string dbName) : base(GetConnectionString(dbName))
    {
    }
}
  • Penggunaan:
ApplicationDbContext db = new ApplicationDbContext("dbName");

Nota: Jika menggunakan migrasi pangkalan data, tambah kelas kilang untuk menghantar nama pangkalan data dalam kaedah benih:

public class MigrationsContextFactory : IDbContextFactory<ApplicationDbContext>
{
    public ApplicationDbContext Create()
    {
        return new ApplicationDbContext("developmentdb");
    }
}

Atas ialah kandungan terperinci Bagaimana untuk Mewujudkan Sambungan MySQL Dinamik dengan Rangka Kerja Entiti 6?. 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