コンテキストの作成中に接続文字列が作成される dbContext があり、その情報の一部に基づいてテーブル名をマップしたい場合....そのデータをテーブルマッピングに渡すにはどうすればよいですか? 例えば:
private object createContext(string name, string country)
{
DbConnectionstringbuilder conn = new DbConnectionstringbuilder();
conn.Add("Provider", "System.Data.SqlClient");
conn.ConnectionString = string.Format(name, "dbName_" + country + "_moreName");
//maybe an if/else since we will say there are more names and countries
return new object(conn.ToString());
}
dbcontext を初期化すると、次のようになります。
public class object : DbContext
{
public object(string conn):base(conn)
{
DbDatabase.SetInitializer<object>(null);
}
//insert dbset and mapping config calls here
}
ここで、テーブルを "table_" + country + "_endtablename" のようにマップしたいと考えています。そのデータをマッピング呼び出しに渡すにはどうすればよいと思いますか?
これらのテーブルは、この形式を使用する既存のデータベースにマップされます。国は実際にはログインしているユーザーの資格情報から来ているため、場所などに基づいています。後者で作成された dbcontext の基本クラスへの内部コンストラクターである国コードにアクセスする方法を見つける必要があります。