Use built-in Enum parse method, avoids keeping single-use Enums in memory

This commit is contained in:
Nuklon
2023-07-17 21:52:04 +02:00
committed by GitHub
parent 531ad2e4d5
commit d52dcb78bb
9 changed files with 14 additions and 19 deletions

View File

@@ -81,15 +81,16 @@ public class SqlServerSyntaxProvider : MicrosoftSqlSyntaxProviderBase<SqlServerS
var setting = _globalSettings.Value.DatabaseFactoryServerVersion;
var fromSettings = false;
if (setting.IsNullOrWhiteSpace() || !setting.StartsWith("SqlServer.")
|| !Enum<VersionName>.TryParse(setting.Substring("SqlServer.".Length), out VersionName versionName, true))
if (setting.IsNullOrWhiteSpace() || !setting.StartsWith("SqlServer.") || !Enum.TryParse(setting.AsSpan("SqlServer.".Length), true, out VersionName versionName))
{
versionName = GetSetVersion(connectionString, ProviderName, _logger).ProductVersionName;
}
if (_logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Debug))
{
_logger.LogDebug("SqlServer {SqlServerVersion}, DatabaseType is {DatabaseType} ({Source}).", versionName, DatabaseType.SqlServer2012, fromSettings ? "settings" : "detected");
}
return DatabaseType.SqlServer2012;
}