using System.Diagnostics; using AutoMapper; using DMS.Infrastructure.Entities; using DMS.Core.Enums; using DMS.Core.Helper; using DMS.Core.Models; using DMS.Infrastructure.Data; using DMS.Infrastructure.Interfaces; namespace DMS.Infrastructure.Repositories; /// /// Mqtt仓储类,用于操作DbMqtt实体 /// public class MqttRepository : BaseRepository { public MqttRepository(SqlSugarDbContext dbContext) : base(dbContext) { } /// /// 根据ID获取Mqtt配置 /// /// 主键ID /// public override async Task GetByIdAsync(int id) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); var result = await Db.Queryable() .In(id) .SingleAsync(); stopwatch.Stop(); NlogHelper.Info($"根据ID '{id}' 获取Mqtt配置耗时:{stopwatch.ElapsedMilliseconds}ms"); return result; } /// /// 获取所有Mqtt配置 /// /// public override async Task> GetAllAsync() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); var result = await Db.Queryable() .Includes(m => m.VariableMqtts, vm => vm.Variable) .Includes(m => m.VariableMqtts, vm => vm.Mqtt) .ToListAsync(); stopwatch.Stop(); NlogHelper.Info($"获取所有Mqtt配置耗时:{stopwatch.ElapsedMilliseconds}ms"); return result; } }