diff --git a/AsyncPoco/AsyncPoco.csproj b/AsyncPoco/AsyncPoco.csproj index 559e575b..527c9bda 100644 --- a/AsyncPoco/AsyncPoco.csproj +++ b/AsyncPoco/AsyncPoco.csproj @@ -2,7 +2,7 @@ AsyncPoco - 2.0.0 + 2.0.1 net45;netstandard1.3;netstandard2.0 True Todd Menier diff --git a/AsyncPoco/Core/DatabaseType.cs b/AsyncPoco/Core/DatabaseType.cs index e2f1abfa..fbd8d4d7 100644 --- a/AsyncPoco/Core/DatabaseType.cs +++ b/AsyncPoco/Core/DatabaseType.cs @@ -136,38 +136,38 @@ public virtual Task ExecuteInsertAsync(Database db, DbCommand cmd, strin public static DatabaseType Resolve(string TypeName, string ProviderName) { // Try using type name first (more reliable) - switch (TypeName) - { - case string t when t.StartsWith("mysql", StringComparison.CurrentCultureIgnoreCase): + if (!string.IsNullOrEmpty(TypeName)) { + if (TypeName.StartsWith("MySql", StringComparison.OrdinalIgnoreCase)) return Singleton.Instance; - case string t when t.StartsWith("sqlce", StringComparison.CurrentCultureIgnoreCase): + if (TypeName.StartsWith("SqlCe", StringComparison.OrdinalIgnoreCase)) return Singleton.Instance; - case string t when t.StartsWith("npgsql", StringComparison.CurrentCultureIgnoreCase) || t.StartsWith("pgsql", StringComparison.CurrentCultureIgnoreCase): + if (TypeName.StartsWith("Npgsql", StringComparison.OrdinalIgnoreCase) || TypeName.StartsWith("PgSql", StringComparison.OrdinalIgnoreCase)) return Singleton.Instance; - case string t when t.StartsWith("oracle", StringComparison.CurrentCultureIgnoreCase): + if (TypeName.StartsWith("Oracle", StringComparison.OrdinalIgnoreCase)) return Singleton.Instance; - case string t when t.StartsWith("sqlite", StringComparison.CurrentCultureIgnoreCase): + if (TypeName.StartsWith("SQLite", StringComparison.OrdinalIgnoreCase)) return Singleton.Instance; - case string t when t.StartsWith("system.data.sqlclient.", StringComparison.CurrentCultureIgnoreCase): + if (TypeName.StartsWith("System.Data.SqlClient.", StringComparison.OrdinalIgnoreCase)) return Singleton.Instance; } + // Try again with provider name - switch (ProviderName) - { - case string t when t.StartsWith("mysql", StringComparison.CurrentCultureIgnoreCase): + if (!string.IsNullOrEmpty(ProviderName)) { + if (ProviderName.IndexOf("MySql", StringComparison.OrdinalIgnoreCase) >= 0) return Singleton.Instance; - case string t when t.StartsWith("sqlserverce", StringComparison.CurrentCultureIgnoreCase): + if (ProviderName.IndexOf("SqlServerCe", StringComparison.OrdinalIgnoreCase) >= 0) return Singleton.Instance; - case string t when t.StartsWith("pgsql", StringComparison.CurrentCultureIgnoreCase): + if (ProviderName.IndexOf("pgsql", StringComparison.OrdinalIgnoreCase) >= 0) return Singleton.Instance; - case string t when t.StartsWith("oracle", StringComparison.CurrentCultureIgnoreCase): + if (ProviderName.IndexOf("Oracle", StringComparison.OrdinalIgnoreCase) >= 0) return Singleton.Instance; - case string t when t.StartsWith("sqlite", StringComparison.CurrentCultureIgnoreCase): + if (ProviderName.IndexOf("SQLite", StringComparison.OrdinalIgnoreCase) >= 0) return Singleton.Instance; - // Assume SQL Server - default: - return Singleton.Instance; } + + // Assume SQL Server + return Singleton.Instance; } + } }