using JiShe.CollectBus.Common.Models; using JiShe.CollectBus.IoTDB.Model; using JiShe.CollectBus.IoTDB.Options; using JiShe.CollectBus.IoTDB.Provider; namespace JiShe.CollectBus.IoTDB.Interface { /// /// IoTDB数据源,数据库能同时存多个时序模型,但数据是完全隔离的,不能跨时序模型查询,通过连接字符串配置 /// public interface IIoTDbProvider { ///// ///// 切换 SessionPool ///// ///// 是否使用表模型 //void SwitchSessionPool(bool useTableSession); IIoTDbProvider GetSessionPool(bool sessionpolType); /// /// 插入数据 /// /// /// /// Task InsertAsync(T entity) where T : IoTEntity; /// /// 批量插入数据 /// /// /// /// Task BatchInsertAsync(IEnumerable entities) where T : IoTEntity; /// /// 批量插入数据 /// /// /// 设备元数据 /// /// Task BatchInsertAsync(DeviceMetadata deviceMetadata,IEnumerable entities) where T : IoTEntity; /// /// 删除数据 /// /// /// /// Task DeleteAsync(IoTDBQueryOptions options) where T : IoTEntity; /// /// 获取设备元数据 /// /// /// Task GetMetadata() where T : IoTEntity; /// /// 查询数据 /// /// /// /// Task> QueryAsync(IoTDBQueryOptions options) where T : IoTEntity, new(); } }