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();
                }             
            }

```