public static IDbRequest Create <T>(IStatement statement, DbRequestMode mode, string connectionString = null, IEnumerable <IStatement> prerequisiteStatements = null, ILoggerFactory loggerFactory = null) where T : IProvider { if (statement == null) { throw new ArgumentNullException(nameof(statement)); } return(Create(Providers.GetOrAdd(typeof(T), t => Activator.CreateInstance <T>()), statement, mode, connectionString, prerequisiteStatements, loggerFactory)); }
public static IDbRequest Create(IProvider queryProvider, IStatement statement, DbRequestMode mode, string connectionString = null, IEnumerable <IStatement> prerequisiteStatements = null, ILoggerFactory loggerFactory = null) { if (queryProvider == null) { throw new ArgumentNullException(nameof(queryProvider)); } if (statement == null) { throw new ArgumentNullException(nameof(statement)); } var properties = new DataRequestProperties { Statement = statement, Mode = mode, ConnectionString = connectionString, QueryProvider = queryProvider }; if (prerequisiteStatements != null) { foreach (var ps in prerequisiteStatements) { properties.PrerequisiteStatements.Add(ps); } } return(new DataRequest { properties = properties, loggerFactory = loggerFactory }); }