ASP.NETWebFormsソリューションでdapperを使用しています。
データを処理するすべてのクラスは、この基本クラスから開いている接続を取得します
public abstract class SalesDb : IDisposable
{
protected static IDbConnection OpenConnection()
{
IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["SalesDb"].ConnectionString);
connection.Open();
return connection;
}
public void Dispose()
{
OpenConnection().Dispose();
}
}
この基本クラスを使用するサービスクラスの例
public class LeadService : SalesDb
{
public IEnumerable<LeadDto> Select()
{
using (IDbConnection connection = OpenConnection())
{
return connection.Query<LeadDto>("Lead_Select",
null, null, true, null, CommandType.StoredProcedure);
}
}
}
OpenConnection(
基本クラスの)メソッドが静的であり、呼び出しごとに新しいインスタンスを返すという欠点はありますか?