Entity Framework 6 を使用した動的 MySQL 接続
Entity Framework 6 を使用して動的データベース名に接続するには、特定の考慮事項が必要です。
MySQL の互換性の取得
<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
public static string GetConnectionString(string dbName) { var connString = ConfigurationManager.ConnectionStrings["mysqlCon"].ConnectionString.ToString(); return String.Format(connString, dbName); }
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 サイトの他の関連記事を参照してください。