using DMS.Core.Interfaces.Repositories; namespace DMS.Core.Interfaces; /// /// 定义了一个仓储管理器,它使用工作单元模式来组合多个仓储操作,以确保事务的原子性。 /// 实现了IDisposable,以确保数据库连接等资源能被正确释放。 /// public interface IRepositoryManager : IDisposable { /// /// 获取设备仓储的实例。 /// 所有通过此管理器获取的仓储都共享同一个数据库上下文和事务。 /// IDeviceRepository Devices { get; set; } /// /// 获取变量表仓储的实例。 /// IVariableTableRepository VariableTables { get; set; } /// /// 获取变量仓储的实例。 /// IVariableRepository Variables { get; set; } /// /// 获取MQTT服务器仓储的实例。 /// IMqttServerRepository MqttServers { get; set; } /// /// 获取变量MQTT别名仓储的实例。 /// IVariableMqttAliasRepository VariableMqttAliases { get; set; } /// /// 获取菜单仓储的实例。 /// IMenuRepository Menus { get; set; } /// /// 获取变量历史仓储的实例。 /// IVariableHistoryRepository VariableHistories { get; set; } /// /// 获取用户仓储的实例。 /// IUserRepository Users { get; set; } /// /// 开始一个新的数据库事务。 /// Task BeginTranAsync(); /// /// 异步提交当前事务中的所有变更。 /// /// 一个表示异步操作的任务。 Task CommitAsync(); /// /// 异步回滚当前事务中的所有变更。 /// /// 一个表示异步操作的任务。 Task RollbackAsync(); }