1. 数据库并发修复 (Bug Fix):
2. 历史记录功能增强 (Feature):
`
fix(db): 修复数据库并发连接问题并增强历史记录功能
`
正文:
`
本次提交主要包含一个关键的 Bug 修复和一项功能增强。
1. 修复数据库并发问题:
* 重构 SqlSugarDbContext,使其作为 SqlSugarClient 的工厂。
* GetInstance() 方法现在每次调用都会返回一个新的客户端实例,解决了因单例客户端导致的多线程并发访问 MySqlConnection 的问题。
2. 增强历史记录功能:
* 为 VariableHistory 相关的模型、DTO 和实体添加了 NumericValue 属性,以便在历史记录中同时存储数值和字符串值。
* 更新了 HistoryProcessor 以保存 NumericValue。
* 对 ValueConvertProcessor 的逻辑进行了重构,以更好地支持值转换流程。
29 lines
732 B
C#
29 lines
732 B
C#
using DMS.Infrastructure.Configurations;
|
|
using SqlSugar;
|
|
|
|
namespace DMS.Infrastructure.Data;
|
|
|
|
public class SqlSugarDbContext
|
|
{
|
|
private readonly AppSettings _settings;
|
|
|
|
public SqlSugarDbContext(AppSettings settings)
|
|
{
|
|
_settings = settings;
|
|
}
|
|
|
|
|
|
public SqlSugarClient GetInstance()
|
|
{
|
|
var connectionString = _settings.ToConnectionString();
|
|
var dbType = (SqlSugar.DbType)Enum.Parse(typeof(SqlSugar.DbType), _settings.Database.DbType);
|
|
|
|
return new SqlSugarClient(new ConnectionConfig
|
|
{
|
|
ConnectionString = connectionString,
|
|
DbType = dbType,
|
|
IsAutoCloseConnection = true,
|
|
InitKeyType = InitKeyType.Attribute
|
|
});
|
|
}
|
|
} |