我们可以在运行当前方法中修改DB对象的配置来满足一些需求
比如DB已经是自动释放了,我们可以动态修改成不自动释放
db.CurrentConnectionConfig.IsAutoCloseConnection = false;
//注意new ConnMoreSettings会清空所有配置
db.CurrentConnectionConfig.MoreSettings=new ConnMoreSettings(){...}
//更安全写法
if(db.CurrentConnectionConfig.MoreSettings!=null)
{
db.CurrentConnectionConfig.MoreSettings.xxxx=xxx;
}
else
{
db.CurrentConnectionConfig.MoreSettings=new ConnMoreSettings(){ .... }
}1. DbType 数据库类型
2. ConnectionString 连接字符串
3. ConfigId 多租户唯一标识
4.EntityService和EntityNameService 实体AOP
其它都可以使用过程中修改
ConnectionString =... ,
DbType = SqlSugar.DbType.MySql,
IsAutoCloseConnection = true,
MoreSettings=new ConnMoreSettings
{
}二级缓存功:
IsAutoRemoveDataCache:(没用二级缓存忽略不看)控制是否启用自动删除数据缓存。
DefaultCacheDurationInSeconds:(没用二级缓存忽略不看)设置缓存的默认持续时间(秒)。
查询选项:
IsWithNoLockQuery:启用或禁用NOLOCK查询提示。
IsWithNoLockSubquery:启用或禁用在子查询中使用NOLOCK。
IsAutoUpdateQueryFilter:控制是否自动更新查询过滤器。
IsAutoDeleteQueryFilter:控制是否自动删除查询过滤器。
字符串处理:
DisableNvarchar:禁用NVARCHAR数据类型的使用。
PgSqlIsAutoToLower:(默认小写)设置是否将 PostgreSQL 查询自动转换为小写。
PgSqlIsAutoToLowerCodeFirst:(默认小写)设置是否将 PostgreSQL 代码优先查询自动转换为小写。
IsAutoToUpper:(oracle 达梦 金仓默认大写)设置是否自动将字符串转换为大写。
日期和时间处理:
DisableMillisecond:禁用毫秒的使用。(只支持部分库)
DbMinDate:数据库最小日期,默认为"1900-01-01"。
创建表库或CRUD:
EnableOracleIdentity:启用或禁用 Oracle 自增列 12C以Oracle上才支持。
SqlServerCodeFirstNvarchar:SQL Server Code First 中是否使用 NVARCHAR。
SqliteCodeFirstEnableDefaultValue:启用或禁用 SQLite Code First 中的默认值。
SqliteCodeFirstEnableDescription:启用或禁用 SQLite Code First 中的描述。
SqliteCodeFirstEnableDropColumn:启用或禁用 SQLite Code First 中的删除列。
EnableCodeFirstUpdatePrecision:启用或禁用 Code First 更新精度。
IsCorrectErrorSqlParameterName:字段有特殊字符导致SQL参数错误的兼容配置(性能有影响,可以通过修改配置局部启用 db.CurrentConfig.xxx.xx=true 这样)
EnableModelFuncMappingColumn: 低码码API支持SQL函数(非低代码忽略这个选项)
2016 © donet5.comApache Licence 2.0