/// <summary> /// 确保架构。 /// </summary> /// <param name="command">当前命令。</param> /// <param name="builder">SQL语句构建实例。</param> protected override void Generate(EnsureSchemaCommand command, IndentedStringBuilder builder) { Check.NotNull(command, nameof(command)); Check.NotNull(builder, nameof(builder)); if (string.Equals(command.Name, "DBO", StringComparison.OrdinalIgnoreCase)) { return; } builder .Append("IF SCHEMA_ID(N") .Append(Sql.GenerateLiteral(Prefix(command.Name))) .Append(") IS NULL EXEC(N'CREATE SCHEMA ") .Append(Sql.DelimitIdentifier(Prefix(command.Name))) .Append("')"); }
/// <summary> /// 确保架构。 /// </summary> /// <param name="command">当前命令。</param> /// <param name="builder">SQL语句构建实例。</param> protected abstract void Generate(EnsureSchemaCommand command, IndentedStringBuilder builder);