Bagaimana untuk Menyambung ke Nama Pangkalan Data Dinamik dalam Rangka Kerja Entiti 6 dengan MySQL?

DDD
Lepaskan: 2024-11-07 14:36:02
asal
315 orang telah melayarinya

How to Connect to a Dynamic Database Name in Entity Framework 6 with MySQL?

Sambungan Pangkalan Data Dinamik dalam Rangka Kerja Entiti 6 untuk MySQL

Mengkonfigurasi MySQL untuk Rangka Kerja Entiti 6

Untuk mewujudkan sambungan antara Rangka Kerja Entiti 6 dan MySQL, ikut langkah berikut:

  • Pasang MySQL .Net Connector 6.8.1 (Beta) daripada tapak web rasmi MySQL.
  • Rujukan Mysql.Data.dll dan Mysql.Data.Entity.EF6. dll dalam penyelesaian Visual Studio anda.
  • Salin fail ini ke direktori bin projek anda untuk kebolehaksesan semasa masa binaan.
  • Tambah rentetan sambungan pada fail Web.config anda, memastikan ia termasuk atribut ProvideName :
<add name="mysqlCon" connectionString="Server=localhost;Database=dbName;Uid=username;Pwd=password" providerName="MySql.Data.MySqlClient" />
Salin selepas log masuk
  • Tambahkan maklumat pembekal berikut di dalam nod dalam fail Web.config anda:
<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>
Salin selepas log masuk
  • Alih keluar nod daripada nod jika anda telah menukarnya daripada lalai.

Menyambung ke Nama Pangkalan Data Dinamik

  • Kemas kini rentetan sambungan dalam Web.config untuk memasukkan pemegang tempat bagi nama pangkalan data :
<add name="mysqlCon" connectionString="Server=localhost;Database={0};Uid=username;Pwd=password" providerName="MySql.Data.MySqlClient" />
Salin selepas log masuk
  • Ubah suai kelas ApplicationDbContext seperti berikut:
public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(string dbName) : base(GetConnectionString(dbName))
    {
    }

    public static string GetConnectionString(string dbName)
    {
        var connString = ConfigurationManager.ConnectionStrings["mysqlCon"].ConnectionString.ToString();
        return String.Format(connString, dbName);
    }
}
Salin selepas log masuk
  • Kendalikan migrasi pangkalan data dengan menambahkan kelas MigrationContextFactory pada penghujung kelas konteks anda:
public class MigrationsContextFactory : IDbContextFactory<ApplicationDbContext>
{
    public ApplicationDbContext Create()
    {
        return new ApplicationDbContext("developmentdb");
    }
}
Salin selepas log masuk

Ini membolehkan anda menghantar rentetan sambungan dinamik ke konteks rangka kerja entiti, membolehkan anda bertukar dengan mudah antara berbilang skema pangkalan data yang serupa berdasarkan akaun.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke Nama Pangkalan Data Dinamik dalam Rangka Kerja Entiti 6 dengan 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!