ホームページ  >  記事  >  データベース  >  Entity Framework 6 との動的 MySQL 接続を確立するにはどうすればよいですか?

Entity Framework 6 との動的 MySQL 接続を確立するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-07 20:40:03411ブラウズ

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>

Dynamic Database Connection

  • Createデータベース名のプレースホルダーを使用して接続文字列を構築するヘルパー メソッド:
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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。