Rumah > Artikel > pangkalan data > Bagaimana untuk Mencapai Sambungan Pangkalan Data Dinamik dengan Rangka Kerja Entiti 6 untuk MySQL?
Sambungan Pangkalan Data Dinamik dengan Rangka Kerja Entiti 6 untuk MySQL
Menyambungkan berbilang skema secara dinamik dengan Rangka Kerja Entiti 6 (EF6) boleh mencabar. Artikel ini menyediakan penyelesaian yang komprehensif untuk mewujudkan sambungan dinamik ke pangkalan data MySQL dan lulus rentetan sambungan berdasarkan nama pangkalan data yang dipilih.
Menyediakan MySQL untuk EF6
Mulakan dengan memasang MySQL .Net Connector 6.8.1 (Beta) dan merujuk perpustakaan dalam penyelesaian Visual Studio anda. Tambahkan rentetan sambungan dan maklumat pembekal pada fail 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>
Mencipta Sambungan Pangkalan Data Dinamik
Seterusnya, ubah suai kelas ApplicationDbContext:
public class ApplicationDbContext: DbContext { public ApplicationDbContext(string dbName) : base(GetConnectionString(dbName)) { } public static string GetConnectionString(string dbName) { // Server=localhost;Database={0};Uid=username;Pwd=password var connString = ConfigurationManager.ConnectionStrings["mysqlCon"].ConnectionString.ToString(); return String.Format(connString, dbName); } }
Ini membolehkan menghantar nama pangkalan data secara dinamik sebagai parameter apabila mencipta ApplicationDbContext baharu instance.
Mengendalikan Migrasi Pangkalan Data
Untuk migrasi, buat kelas MigrationContextFactory:
public class MigrationsContextFactory : IDbContextFactory<ApplicationDbContext> { public ApplicationDbContext Create() { return new ApplicationDbContext("developmentdb"); } }
Kilang ini menentukan pangkalan data lalai untuk migrasi, memastikan migrasi menyasarkan yang betul skema.
Kesimpulan
Menggunakan pendekatan ini membolehkan pemilihan dinamik skema pangkalan data dalam Rangka Kerja Entiti 6. Dengan mengubah suai kilang sambungan lalai dan mencipta kaedah pembantu untuk menjana secara dinamik rentetan sambungan, adalah mungkin untuk menyambung kepada berbilang skema dengan cekap.
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Sambungan Pangkalan Data Dinamik dengan Rangka Kerja Entiti 6 untuk MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!