我们可以在运行当前方法中修改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