System.Data.Common abstraction