私はちょうどいくつかのデータアクセスコードを書いています。コンストラクタインジェクションを介して設定から接続文字列の名前を渡すことにしました。このコンテナインジェクションはリポジトリが読み込んでSqlConnectionStringBuilderを構築するために使用します。設定コードはクライアントコードに限定してください。
おそらくSqlConnectionStringBuilderは必要ありませんが、それは別の問題です。
ここで設定を読んでいるか、クライアントコードに限定してください。意見ですか?
public class SqlRepository : IRepository
{
private SqlConnectionStringBuilder _connString;
public SqlRepository(string connectionStringName)
{
var connStringSetting = ConfigurationManager.ConnectionStrings[connectionStringName];
if (connStringSetting == null)
throw new ArgumentException("Could not find connection string in configuration.");
_connString = new SqlConnectionStringBuilder(connStringSetting.ConnectionString);
}
}