/// <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); }
/// <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)); }