public static DbProviderFactory GetDbProviderFactory(DataAccessProviderTypes type) { if (type == DataAccessProviderTypes.SqlServer) { return(SqlClientFactory.Instance); // this library has a ref to SqlClient so this works } if (type == DataAccessProviderTypes.SqlServerCore) { return(GetDbProviderFactory("Microsoft.Data.SqlClient.SqlClientFactory", "Microsoft.Data.SqlClient")); } if (type == DataAccessProviderTypes.SqLite) { return(GetDbProviderFactory("Microsoft.Data.Sqlite.SqliteFactory", "Microsoft.Data.Sqlite")); } if (type == DataAccessProviderTypes.MySql) { return(GetDbProviderFactory("MySql.Data.MySqlClient.MySqlClientFactory", "MySql.Data")); } if (type == DataAccessProviderTypes.PostgreSql) { return(GetDbProviderFactory("Npgsql.NpgsqlFactory", "Npgsql")); } if (type == DataAccessProviderTypes.Oracle) { return(GetDbProviderFactory("Oracle.DataAccess.Client.OracleClientFactory", "Oracle.DataAccess")); } throw new NotSupportedException($"Unsupported Provider Factory specified: {type}"); }
public static DbProviderFactory GetDbProviderFactory(DataAccessProviderTypes type) { //if (type == DataAccessProviderTypes.SqlServer) // return SqlClientFactory.Instance; // this library has a ref to SqlClient so this works if (type == DataAccessProviderTypes.SqlServer) { return(GetDbProviderFactory("System.Data.SqlClient.SqlClientFactory", "System.Data")); } if (type == DataAccessProviderTypes.SqLite) { return(GetDbProviderFactory("Microsoft.Data.Sqlite.SqliteFactory", "Microsoft.Data.Sqlite")); } if (type == DataAccessProviderTypes.MySql) { return(GetDbProviderFactory("MySql.Data.MySqlClient.MySqlClientFactory", "MySql.Data")); } if (type == DataAccessProviderTypes.MySqlConnector) { return(GetDbProviderFactory("MySqlConnector.MySqlConnectorFactory", "MySqlConnector")); } if (type == DataAccessProviderTypes.PostgreSql) { return(GetDbProviderFactory("Npgsql.NpgsqlFactory", "Npgsql")); } //#if NETFULL // if (type == DataAccessProviderTypes.OleDb) // return System.Data.OleDb.OleDbFactory.Instance; // if (type == DataAccessProviderTypes.SqlServerCompact) // return DbProviderFactories.GetFactory("System.Data.SqlServerCe.4.0"); //#endif throw new NotSupportedException("Unsupported Provider Factory: " + type.ToString()); }
internal static string GetProviderInvariantName(DataAccessProviderTypes type) { if (type == DataAccessProviderTypes.SqlServer) { return(ProviderInvariantSql); } if (type == DataAccessProviderTypes.SqlServerCore) { return(ProviderInvariantSqlCore); } if (type == DataAccessProviderTypes.SqLite) { return(ProviderInvariantSqlite); } if (type == DataAccessProviderTypes.MySql) { return(ProviderInvariantMysql); } if (type == DataAccessProviderTypes.PostgreSql) { return(ProviderInvariantPostgres); } if (type == DataAccessProviderTypes.Oracle) { return(ProviderInvariantOracle); } throw new NotSupportedException($"Unsupported Provider Factory specified: {type}"); }
/// <summary> /// This method loads various providers dynamically similar to the /// way that DbProviderFactories.GetFactory() works except that /// this API is not available on .NET Standard 2.0 /// </summary> /// <param name="type"></param> /// <returns></returns> public static DbProviderFactory GetDbProviderFactory(DataAccessProviderTypes type) { if (type == DataAccessProviderTypes.SqlServer) { return(SqlClientFactory.Instance); // this library has a ref to SqlClient so this works } if (type == DataAccessProviderTypes.SqLite) { #if NETFULL return(GetDbProviderFactory("System.Data.SQLite.SQLiteFactory", "System.Data.SQLite")); #else return(GetDbProviderFactory("Microsoft.Data.Sqlite.SqliteFactory", "Microsoft.Data.Sqlite")); #endif } if (type == DataAccessProviderTypes.MySql) { return(GetDbProviderFactory("MySql.Data.MySqlClient.MySqlClientFactory", "MySql.Data")); } if (type == DataAccessProviderTypes.PostgreSql) { return(GetDbProviderFactory("Npgsql.NpgsqlFactory", "Npgsql")); } #if NETFULL if (type == DataAccessProviderTypes.OleDb) { return(System.Data.OleDb.OleDbFactory.Instance); } if (type == DataAccessProviderTypes.SqlServerCompact) { return(DbProviderFactories.GetFactory("System.Data.SqlServerCe.4.0")); } #endif throw new NotSupportedException(string.Format(Resources.UnsupportedProviderFactory, type.ToString())); }
private static DbProviderFactory GetDbProviderFactory(DataAccessProviderTypes type) { if (type == DataAccessProviderTypes.SqlServer) { return(GetDbProviderFactory("System.Data.SqlClient.SqlClientFactory", "System.Data.SqlClient")); } if (type == DataAccessProviderTypes.SqlServerCore) { return(GetDbProviderFactory("Microsoft.Data.SqlClient.SqlClientFactory", "Microsoft.Data.SqlClient")); } if (type == DataAccessProviderTypes.SqLite) { return(GetDbProviderFactory("Microsoft.Data.Sqlite.SqliteFactory", "Microsoft.Data.Sqlite")); } if (type == DataAccessProviderTypes.MySql) { return(GetDbProviderFactory("MySql.Data.MySqlClient.MySqlClientFactory", "MySql.Data")); } if (type == DataAccessProviderTypes.PostgreSql) { return(GetDbProviderFactory("Npgsql.NpgsqlFactory", "Npgsql")); } if (type == DataAccessProviderTypes.Oracle) { return(GetDbProviderFactory("Oracle.DataAccess.Client.OracleClientFactory", "Oracle.DataAccess")); } throw new NotSupportedException(string.Format("Unsupported Provider Factory specified: {0}", type.ToString())); }
/// <summary> /// This method loads various providers dynamically similar to the /// way that DbProviderFactories.GetFactory() works except that /// this API is not available on .NET Standard 2.0 /// </summary> /// <param name="type"></param> /// <returns></returns> public static DbProviderFactory GetSqlProviderFactory(DataAccessProviderTypes type) { if (type == DataAccessProviderTypes.SqlServer) { return(SqlClientFactory.Instance); } if (type == DataAccessProviderTypes.SqLite) { #if NETCORE var instance = ReflectionUtils.GetStaticProperty("Microsoft.Data.Sqlite.SqliteFactory", "Instance"); if (instance == null) { var a = ReflectionUtils.LoadAssembly("Microsoft.Data.Sqlite"); if (a != null) { instance = ReflectionUtils.GetStaticProperty("Microsoft.Data.Sqlite.SqliteFactory", "Instance"); } } if (instance == null) { throw new InvalidOperationException("Couldn't load SqLite Provider factory. Please make sure the Microsoft.Data.Sqlite package has been added to your project"); } return(instance as DbProviderFactory); #else var instance = ReflectionUtils.GetStaticProperty("System.Data.Sqlite.SQLiteFactory", "Instance"); if (instance == null) { var a = ReflectionUtils.LoadAssembly("System.Data.SQLite"); if (a != null) { instance = ReflectionUtils.GetStaticProperty("System.Data.SQLite.SQLiteFactory", "Instance"); } } if (instance == null) { throw new InvalidOperationException( "Couldn't load SqLite Provider factory. Please make sure the System.Data.SQLite reference has been added to your project"); } return(instance as DbProviderFactory); #endif } throw new InvalidOperationException("Unsupported Provider Factory specified: " + type); }
public static DbProviderFactory GetDbProviderFactory(DataAccessProviderTypes type) { switch (type) { case DataAccessProviderTypes.SqlServer: return(SqlClientFactory.Instance); case DataAccessProviderTypes.SqLite: return(GetDbProviderFactory("Microsoft.Data.Sqlite.SqliteFactory", "Microsoft.Data.Sqlite")); case DataAccessProviderTypes.MySql: return(GetDbProviderFactory("MySql.Data.MySqlClient.MySqlClientFactory", "MySql.Data")); case DataAccessProviderTypes.PostgreSql: return(GetDbProviderFactory("Npgsql.NpgsqlFactory", "Npgsql")); default: throw new NotSupportedException(string.Format(Resources.UnsupportedProviderFactory, type.ToString())); } }
/// <summary> /// This method loads various providers dynamically similar to the /// way that DbProviderFactories.GetFactory() works except that /// this API is not available on .NET Standard 2.0 /// </summary> /// <param name="type"></param> /// <returns></returns> public static DbProviderFactory GetDbProviderFactory(DataAccessProviderTypes type) { if (type == DataAccessProviderTypes.SqlServer) { return(GetDbProviderFactory("System.Data.SqlClient.SqlClientFactory", "System.Data.SqlClient")); } if (type == DataAccessProviderTypes.SqLite) { // SqLite support in .NET Standard available now return(GetDbProviderFactory("System.Data.SQLite.SQLiteFactory", "System.Data.SQLite")); //#if NETFULL //#else // return GetDbProviderFactory("Microsoft.Data.Sqlite.SqliteFactory", "Microsoft.Data.Sqlite"); //#endif } if (type == DataAccessProviderTypes.MySql) { return(GetDbProviderFactory("MySql.Data.MySqlClient.MySqlClientFactory", "MySql.Data")); } if (type == DataAccessProviderTypes.PostgreSql) { return(GetDbProviderFactory("Npgsql.NpgsqlFactory", "Npgsql")); } #if NETFULL if (type == DataAccessProviderTypes.OleDb) { return(System.Data.OleDb.OleDbFactory.Instance); } if (type == DataAccessProviderTypes.SqlServerCompact) { return(DbProviderFactories.GetFactory("System.Data.SqlServerCe.4.0")); } #endif throw new NotSupportedException(string.Format("Unsupported Provider Factory specified: {0}", type.ToString())); }
public static DbConnection CreateConnection(string connectionString, DataAccessProviderTypes providerType) { return(CreateConnection(connectionString, GetProviderInvariantName(providerType))); }
public SqlDataAccess(string connectionString, DataAccessProviderTypes providerType) : base(connectionString, providerType) { }