简单实现变量的历史记录功能

This commit is contained in:
2025-07-16 20:54:38 +08:00
parent b596887f6e
commit 28c2754d53
5 changed files with 185 additions and 0 deletions

View File

@@ -163,4 +163,10 @@ public class DbVariableData
/// </summary>
[Navigate(typeof(DbVariableDataMqtt), "VariableDataId", "MqttId")]
public List<DbMqtt>? Mqtts { get; set; }
/// <summary>
/// 关联的历史记录列表。
/// </summary>
[Navigate(NavigateType.OneToMany, nameof(DbVariableDataHistory.VariableDataId))]
public List<DbVariableDataHistory>? HistoryRecords { get; set; }
}

View File

@@ -0,0 +1,49 @@
using System;
using SqlSugar;
namespace PMSWPF.Data.Entities;
/// <summary>
/// 表示数据库中的变量数据历史实体。
/// </summary>
[SugarTable("VarDataHistory")]
public class DbVariableDataHistory
{
/// <summary>
/// 历史记录唯一标识符。
/// </summary>
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
/// <summary>
/// 变量名称。
/// </summary>
public string Name { get; set; }
/// <summary>
/// 节点ID用于标识变量在设备或系统中的唯一路径。
/// </summary>
[SugarColumn(IsNullable = true)]
public string NodeId { get; set; } = String.Empty;
/// <summary>
/// 变量当前原始数据值。
/// </summary>
public string DataValue { get; set; } = String.Empty;
/// <summary>
/// 关联的DbVariableData的ID。
/// </summary>
public int VariableDataId { get; set; }
/// <summary>
/// 关联的DbVariableData实体。
/// </summary>
[Navigate(NavigateType.ManyToOne, nameof(VariableDataId))]
public DbVariableData? VariableData { get; set; }
/// <summary>
/// 历史记录的时间戳。
/// </summary>
public DateTime Timestamp { get; set; } = DateTime.Now;
}