Files
DMS/DMS.Infrastructure/Data/SqlSugarDbContext.cs
David P.G d6bb606b0e 本次提交包含了两个主要部分:一个关键的数据库并发问题修复,以及一个关于历史记录功能的增强。
1. 数据库并发修复 (Bug Fix):
   2. 历史记录功能增强 (Feature):
  `
  fix(db): 修复数据库并发连接问题并增强历史记录功能
  `

  正文:

  `
  本次提交主要包含一个关键的 Bug 修复和一项功能增强。

  1.  修复数据库并发问题:
      *   重构 SqlSugarDbContext,使其作为 SqlSugarClient 的工厂。
      *   GetInstance() 方法现在每次调用都会返回一个新的客户端实例,解决了因单例客户端导致的多线程并发访问 MySqlConnection 的问题。

  2.  增强历史记录功能:
      *   为 VariableHistory 相关的模型、DTO 和实体添加了 NumericValue 属性,以便在历史记录中同时存储数值和字符串值。
      *   更新了 HistoryProcessor 以保存 NumericValue。
      *   对 ValueConvertProcessor 的逻辑进行了重构,以更好地支持值转换流程。
2025-10-03 00:05:17 +08:00

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
});
}
}