Do you see it as tight coupling that my business service class opens a SqlConnection ?
Actually a business service should not be aware of the concrete dataprovider?!
public class UnitService:
public void DeleteUnit(Unit unit)
{
using (SqlConnection con = new SqlConnection());
using (TransactionScope trans = new TransactionScope())
{
con.Open();
_unitDataProvider.Delete(unit,con);
_employeeDataProvider.UpdateEmployees(con);
trans.Complete();
}
}