ASP.Netメンバーシッププロバイダー(SQL Serverプロバイダー)を使用していますが、クラス内のデータベース名のみを変更できるようにしたいと考えています。これを行うには、インストーラーが使用できるようにASP.Netメンバーシッププロバイダーを構成する必要があります
私はコードを
public class CodeFirstMembershipProvider : SqlMembershipProvider
{
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
{
base.Initialize(name, config);
// hard coded for testing
string connectionString = @"server=localhost;database=masterdb;uid=master;pwd=password";
// Set private property of Membership provider.
FieldInfo connectionStringField = GetType().BaseType.GetField("_sqlConnectionString", BindingFlags.Instance | BindingFlags.NonPublic);
if(connectionStringField != null)
connectionStringField.SetValue(this, connectionString);
}
}
上記のコードでは、完全な接続文字列値を入力して変更する必要があります。
それもうまくいきます.....
しかし、私のクエリは、web.configファイルに記載されている現在の接続文字列のデータベース名のみを変更することです。
では、コードを介してASP.Netメンバーシップを介してデータベース名を切り替える方法はありますか?