/// <summary> /// Generate OnConfiguring method. /// </summary> /// <param name="connectionString">Database connection string.</param> /// <param name="suppressConnectionStringWarning">Suppress connection string warning.</param> protected virtual void GenerateOnConfiguring( string connectionString, bool suppressConnectionStringWarning) { if (connectionString == null) { throw new ArgumentNullException(nameof(connectionString)); } var sb = new IndentedStringBuilder(); using (sb.Indent()) { sb.IncrementIndent(); sb.AppendLine("protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)"); sb.AppendLine("{"); using (sb.Indent()) { sb.AppendLine("if (!optionsBuilder.IsConfigured)"); sb.AppendLine("{"); if (HandlebarsScaffoldingOptions.IncludeConnectionString) { using (sb.Indent()) { if (!suppressConnectionStringWarning) { sb.DecrementIndent() .DecrementIndent() .DecrementIndent() .DecrementIndent() .AppendLine("#warning " + DesignStrings.SensitiveInformationWarning) .IncrementIndent() .IncrementIndent() .IncrementIndent() .IncrementIndent(); } sb.Append("optionsBuilder") .Append( ProviderConfigurationCodeGenerator != null ? CSharpHelper.Fragment( ProviderConfigurationCodeGenerator.GenerateUseProvider(connectionString, null)) #pragma warning disable CS0618 // Type or member is obsolete : LegacyProviderCodeGenerator.GenerateUseProvider(connectionString, Language)) #pragma warning restore CS0618 // Type or member is obsolete .AppendLine(";"); } } sb.AppendLine("}"); } sb.AppendLine("}"); var onConfiguring = sb.ToString(); TemplateData.Add("on-configuring", onConfiguring); } }
/// <summary> /// Generate OnConfiguring method. /// </summary> /// <param name="connectionString">Database connection string.</param> /// <param name="suppressConnectionStringWarning">Suppress connection string warning.</param> protected override void GenerateOnConfiguring(string connectionString, bool suppressConnectionStringWarning) { Check.NotNull(connectionString, nameof(connectionString)); var sb = new IndentedStringBuilder(); using (sb.Indent()) using (sb.Indent()) { sb.AppendLine("protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)"); sb.AppendLine("{"); using (sb.Indent()) { sb.AppendLine("if (!optionsBuilder.IsConfigured)"); sb.AppendLine("{"); using (sb.Indent()) { if (!suppressConnectionStringWarning) { sb.DecrementIndent() .DecrementIndent() .DecrementIndent() .DecrementIndent() .AppendLine("#warning " + DesignStrings.SensitiveInformationWarning) .IncrementIndent() .IncrementIndent() .IncrementIndent() .IncrementIndent(); } sb.Append("optionsBuilder"); var useProviderCall = ProviderConfigurationCodeGenerator.GenerateUseProvider( connectionString, ProviderConfigurationCodeGenerator.GenerateProviderOptions()); var contextOptions = ProviderConfigurationCodeGenerator.GenerateContextOptions(); if (contextOptions != null) { useProviderCall = useProviderCall.Chain(contextOptions); } sb.Append(CSharpHelper.Fragment(useProviderCall)) .AppendLine(";"); } sb.AppendLine("}"); } sb.AppendLine("}"); } var onConfiguring = sb.ToString(); TemplateData.Add("on-configuring", onConfiguring); }
private string GetOnConfiguring(string connectionString, bool suppressConnectionStringWarning) { var sb = new IndentedStringBuilder(); using (sb.Indent()) using (sb.Indent()) { sb.AppendLine("protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)"); sb.AppendLine("{"); using (sb.Indent()) { sb.AppendLine("if (!optionsBuilder.IsConfigured)"); sb.AppendLine("{"); using (sb.Indent()) { if (!suppressConnectionStringWarning) { sb.DecrementIndent() .DecrementIndent() .DecrementIndent() .DecrementIndent() .AppendLine("#warning " + DesignStrings.SensitiveInformationWarning) .IncrementIndent() .IncrementIndent() .IncrementIndent() .IncrementIndent(); } sb.Append("optionsBuilder"); var useProviderCall = ProviderConfigurationCodeGenerator.GenerateUseProvider(connectionString); sb.Append(CSharpHelper.Fragment(useProviderCall)) .AppendLine(";"); } sb.AppendLine("}"); } sb.AppendLine("}"); } return(sb.ToString()); }
/// <summary> /// Generate OnConfiguring method. /// </summary> /// <param name="connectionString">Database connection string.</param> /// <param name="suppressConnectionStringWarning">Suppress connection string warning.</param> protected override void GenerateOnConfiguring([NotNull] string connectionString, bool suppressConnectionStringWarning) { Check.NotNull(connectionString, nameof(connectionString)); var onConfiguring = GetOnConfiguring(connectionString, suppressConnectionStringWarning); TemplateData.Add("on-configuring", onConfiguring); TemplateData.Add("connection-string", connectionString); TemplateData.Add("connectionstring-warning", $"#warning {DesignStrings.SensitiveInformationWarning}"); var useProviderCall = ProviderConfigurationCodeGenerator.GenerateUseProvider( connectionString, ProviderConfigurationCodeGenerator.GenerateProviderOptions()); var contextOptions = ProviderConfigurationCodeGenerator.GenerateContextOptions(); if (contextOptions != null) { useProviderCall = useProviderCall.Chain(contextOptions); } TemplateData.Add("options-builder-provider", CSharpHelper.Fragment(useProviderCall)); }