首頁  >  文章  >  資料庫  >  如何與 Entity Framework 6 建立動態 MySQL 連線?

如何與 Entity Framework 6 建立動態 MySQL 連線?

Susan Sarandon
Susan Sarandon原創
2024-11-07 20:40:03350瀏覽

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

與 Entity Framework 6 的動態 MySQL 連線

使用 Entity Framework 6 連接到動態資料庫名稱涉及某些注意事項。

取得 MySQL 相容性

  • 安裝 MySQL .Net Connector 6.8.1。
  • 參考 Mysql.Data.dll 和 Mysql.Data.Entity.EF6。 dll.
  • 在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>

動態數據庫連接

  • 建立用於使用資料庫名稱佔位符建立連接字串的輔助方法:
public static string GetConnectionString(string dbName)
{
    var connString = ConfigurationManager.ConnectionStrings["mysqlCon"].ConnectionString.ToString();
    return String.Format(connString, dbName);
}
  • 修改ApplicationDbContext 類別:
public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(string dbName) : base(GetConnectionString(dbName))
    {
    }
}
  • 用法:
ApplicationDbContext db = new ApplicationDbContext("dbName");

注意:如果使用資料庫遷移,請新增工廠類別以在種子方法中傳遞資料庫名稱:

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

以上是如何與 Entity Framework 6 建立動態 MySQL 連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn