0
我试图从可选的重载数据库中获取数据来传递连接。我可以用两种方法做到这一点。使用最小代码重载方法
public DataTable GetData()
{
using (SqlConnection con = new SqlConnection("..."))
{
return GetData(con);
}
}
public DataTable GetData(SqlConnection con)
{
// fetch data
return dtData;
}
或
public DataTable GetData(SqlConnection con=null)
{
bool OpenCon = false;
if (con == null)
{
con = new SqlConnection("...");
OpenCon = true;
}
try
{
// fetch data
}
finally
{
if (OpenCon)
con.Close();
}
return dtData;
}
第一种情况似乎令人印象深刻。但是,每笔交易我都会收到很多方法。在第二种情况下,每种方法都需要编写大量代码,因为在这种情况下无法使用“使用”块。
其他事务如更新或删除的情况仍然更糟,因为我需要有另一个超载来传递事务。
有没有更好的方法?