# 数据源配置
配置类: DataSourceOptions
命名空间: Air.Cloud.DataBase.Options
短述(zh-cn): 数据源的通用配置项,包含连接校验、校验间隔以及多命名连接字符串的管理。
Short (en-us): Common data source options including connection validation, validation interval, and named connection strings management.
# 构造函数
- 默认构造函数:
DataSourceOptions()
说明:无特殊初始化逻辑
# 属性(Properties)
| 名称 | 类型 | 说明 | 默认值 |
|---|---|---|---|
ConnectionValidationSQL | string | 连接验证 SQL 语句;用于探活/健康检查或连接可用性验证。 | string.Empty |
ConnectionValidationIntervalMillis | int | 连接验证间隔时间(毫秒)。 | 60000(1 分钟) |
ConnectionStrings | IDictionary<string, string> | 数据库连接字符串集合,键为名称,值为连接串。 | null |
# 方法(Methods)
string GetConnectionString(string name)- 作用:获取指定名称的连接字符串。
- 返回:存在则返回对应连接字符串;不存在返回空字符串
""。
string SetConnectionString(string name, string connectionString)- 作用:设置/更新指定名称的连接字符串;如
ConnectionStrings为空,将自动创建Dictionary<string,string>。 - 返回:入参
connectionString原样返回,便于链式/内联使用。
- 作用:设置/更新指定名称的连接字符串;如
bool EnableDatabaseStatusCheck()- 作用:是否启用数据库状态检查。
- 判定规则:当且仅当
ConnectionValidationSQL非空时返回true,否则返回false。
# 使用示例(C#)
using Air.Cloud.DataBase.Options;
var options = new DataSourceOptions
{
ConnectionValidationSQL = "连接验证语句",
ConnectionValidationIntervalMillis = 60000
};
// 设置/更新命名连接串
options.SetConnectionString("default", "Server=...;Database=...;User Id=...;Password=...;");
options.SetConnectionString("reporting", "Server=...;Database=...;Trusted_Connection=True;");
// 读取连接串
var defaultConn = options.GetConnectionString("default"); // 若不存在则为 ""
// 判断是否启用数据库状态检查
bool enabled = options.EnableDatabaseStatusCheck(); // ConnectionValidationSQL 非空即 true
# 备注(Notes)
- 若仅需要关闭健康检查,将
ConnectionValidationSQL置空即可。 - 建议为不同用途(读写分离、报表、批处理)使用不同的命名连接串,便于按需获取与管理。
← Swagger 文档 代码结构 →