Massive 経由でデータベースに接続するにはどうすればよいですか?
Massive には接続を開くためのメソッドがありますが、接続文字列の名前を受け入れます。接続文字列を指定したい。これどうやってするの?
Open() メソッドの Massive コードで DynamicModel が作成され、DynamicModel コンストラクターで次の行が見つかりました ( Massive.cs 127 行):
ConnectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;
つまり、接続文字列を構成ファイルに保存し、適切な接続文字列名を Open メソッドに渡す必要があります。
必要なのは、接続文字列を受け入れるオーバーロード メソッドを作成することです。次に例を示します。
public static DynamicModel Open(string connectionString, string providerName="System.Data.SqlClient")
{
dynamic dm = new DynamicModel(connectionString, providerName);
return dm;
}
public DynamicModel(string connectionString, string providerName ="System.Data.SqlClient", string tableName = "",
string primaryKeyField = "", string descriptorField = "")
{
TableName = tableName == "" ? this.GetType().Name : tableName;
PrimaryKeyField = string.IsNullOrEmpty(primaryKeyField) ? "ID" : primaryKeyField;
DescriptorField = descriptorField;
_factory = DbProviderFactories.GetFactory(providerName);
ConnectionString = connectionString;
}