public MetricSchemaKey(string ruleApplicationName, string entityName, MetricSchema metricSchema) { _ruleApplicationName = ruleApplicationName; _entityName = entityName; _metricSchema = metricSchema; unchecked { _hashCode = 397 ^ (_ruleApplicationName?.GetHashCode() ?? 0); _hashCode = (_hashCode * 397) ^ (_entityName?.GetHashCode() ?? 0); _hashCode = (_hashCode * 397) ^ (_metricSchema?.GetHashCode() ?? 0); } }
private static string BuildParameterizedInsertStatement(string ruleApplicationName, string entityName, MetricSchema metricSchema) { var columnsString = new StringBuilder(); var valuesString = new StringBuilder(); columnsString.Append($@"INSERT INTO [{ruleApplicationName}].[{entityName}]("); valuesString.AppendLine("VALUES ("); foreach (string columnName in CommonColumns) { columnsString.AppendLine($"[{columnName}],"); valuesString.AppendLine($"@{columnName.Replace("/", "")},"); } foreach (string columnName in metricSchema.Properties.Select(column => column.GetMetricColumnName())) { columnsString.AppendLine($"[{columnName}],"); valuesString.AppendLine($"@{columnName.Replace("/", "")},"); } columnsString.Length -= (Environment.NewLine.Length + 1); valuesString.Length -= (Environment.NewLine.Length + 1); columnsString.Append(")"); valuesString.AppendLine(")"); return(columnsString.Append(valuesString).ToString()); }