A data access object for c# which provides many simplifications to using transactional database access