修改配置

修改示例

我们可以在运行当前方法中修改DB对象的配置来满足一些需求 

例1

比如DB已经是自动释放了,我们可以动态修改成不自动释放

 db.CurrentConnectionConfig.IsAutoCloseConnection = false;

例2

  //注意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

其它都可以使用过程中修改

MoreSettings明细

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函数(非低代码忽略这个选项)


关闭
果糖网