generated from noisedestroyers/claude
47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
|
|
namespace Database.Configuration
|
||
|
|
{
|
||
|
|
public class DatabaseConfiguration
|
||
|
|
{
|
||
|
|
public const string SectionName = "Database";
|
||
|
|
|
||
|
|
public string ConnectionString { get; set; } = string.Empty;
|
||
|
|
|
||
|
|
public bool EnableSensitiveDataLogging { get; set; } = false;
|
||
|
|
|
||
|
|
public bool EnableDetailedErrors { get; set; } = false;
|
||
|
|
|
||
|
|
public int CommandTimeout { get; set; } = 30;
|
||
|
|
|
||
|
|
public bool AutoMigrate { get; set; } = false;
|
||
|
|
|
||
|
|
public bool SeedTestData { get; set; } = false;
|
||
|
|
|
||
|
|
public string Environment { get; set; } = "Development";
|
||
|
|
|
||
|
|
public PoolingOptions Pooling { get; set; } = new();
|
||
|
|
|
||
|
|
public RetryOptions Retry { get; set; } = new();
|
||
|
|
}
|
||
|
|
|
||
|
|
public class PoolingOptions
|
||
|
|
{
|
||
|
|
public int MinPoolSize { get; set; } = 5;
|
||
|
|
|
||
|
|
public int MaxPoolSize { get; set; } = 100;
|
||
|
|
|
||
|
|
public int ConnectionIdleLifetime { get; set; } = 300; // seconds
|
||
|
|
|
||
|
|
public int ConnectionPruningInterval { get; set; } = 10; // seconds
|
||
|
|
}
|
||
|
|
|
||
|
|
public class RetryOptions
|
||
|
|
{
|
||
|
|
public bool EnableRetryOnFailure { get; set; } = true;
|
||
|
|
|
||
|
|
public int MaxRetryCount { get; set; } = 5;
|
||
|
|
|
||
|
|
public int MaxRetryDelay { get; set; } = 30; // seconds
|
||
|
|
|
||
|
|
public List<string> ErrorNumbersToAdd { get; set; } = new();
|
||
|
|
}
|
||
|
|
}
|