namespace IStation
{
///
///
///
public class ConfigHelper
{
#region PostgreSql-ConnectionConfig
///
/// PostgreSql连接配置
///
internal static ConnectionConfig PostgreSqlConnectionConfig
{
get
{
//SnowFlakeSingle.WorkId = Settings.SqlSugar.SnowFlakeWorkId; 不同机器配置的唯一数字; // 单服务器不需要指定
return new ConnectionConfig()
{
DbType = SqlSugar.DbType.PostgreSQL,//数据库类型
ConnectionString = Settings.ParasHelper.DataBase.PostgreSql.ConnectString,
IsAutoCloseConnection = true,//是否自动关闭
MoreSettings = new ConnMoreSettings()
{
//PgSqlIsAutoToLower = false //数据库存在大写字段的 ,需要把这个设为false ,并且实体和字段名称要一样
},
AopEvents = new AopEvents
{
OnLogExecuting = (sql, p) =>
{
// var sqlString = UtilMethods.GetNativeSql(sql, p);
//LogHelper.Debug(sqlString);
// Console.WriteLine(sql);
}
}
};
}
}
#endregion
#region SQLite-ConnectionConfig
///
/// Analysis SQLite连接配置
///
internal static ConnectionConfig AnalysisConnectionConfig
{
get
{
return GetConnectionConfig(Settings.ParasHelper.DataBase.SQLite.AnalysisConnectString);
}
}
///
/// Schedule SQLite连接配置
///
internal static ConnectionConfig ScheduleConnectionConfig
{
get
{
return GetConnectionConfig(Settings.ParasHelper.DataBase.SQLite.ScheduleConnectString);
}
}
///
/// Hydraulic SQLite连接配置
///
internal static ConnectionConfig HydraulicConnectionConfig
{
get
{
return GetConnectionConfig(Settings.ParasHelper.DataBase.SQLite.HydraulicConnectString);
}
}
///
/// Monitor SQLite连接配置
///
internal static ConnectionConfig MonitorConnectionConfig
{
get
{
return GetConnectionConfig(Settings.ParasHelper.DataBase.SQLite.MonitorConnectString);
}
}
///
///
///
///
///
private static ConnectionConfig GetConnectionConfig(string connection_string)
{
var config = new ConnectionConfig
{
DbType = SqlSugar.DbType.Sqlite,//数据库类型
ConnectionString = connection_string,
IsAutoCloseConnection = true,//是否自动关闭
MoreSettings = new ConnMoreSettings()
{
//PgSqlIsAutoToLower = false //数据库存在大写字段的 ,需要把这个设为false ,并且实体和字段名称要一样
},
AopEvents = new AopEvents
{
OnLogExecuting = (sql, p) =>
{
var sqlString = UtilMethods.GetNativeSql(sql, p);
Yw.LogHelper.Error(sqlString);
}
},
ConfigureExternalServices = new ConfigureExternalServices()
{
EntityService = (property, column) =>
{
//除主键外都可空
if (!column.IsPrimarykey)
{
column.IsNullable = true;
}
}
}
};
return config;
}
#endregion
}
}