diff --git a/src/BPA.Component.DTOCommon/BPA.Component.DTOCommon/BPA - Backup.Component.DTOCommon.csproj b/src/BPA.Component.DTOCommon/BPA.Component.DTOCommon/BPA - Backup.Component.DTOCommon.csproj
new file mode 100644
index 0000000..9fa508f
--- /dev/null
+++ b/src/BPA.Component.DTOCommon/BPA.Component.DTOCommon/BPA - Backup.Component.DTOCommon.csproj
@@ -0,0 +1,28 @@
+
+
+ net6.0
+ enable
+ enable
+ BPA.Component.DTOCommon
+ BPA.Component.DTOCommon
+ default
+ 1.0.5
+ 黑菠萝-DTO基础类
+
+
+
+ bin\BPA.Component.DTOCommon.xml
+
+
+ bin\BPA.Component.DTOCommon.xml
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/BPA.Component.LogClient/BPA.Component.LogClient/BPA.Component.LogClient.xml b/src/BPA.Component.LogClient/BPA.Component.LogClient/BPA.Component.LogClient.xml
new file mode 100644
index 0000000..659e59b
--- /dev/null
+++ b/src/BPA.Component.LogClient/BPA.Component.LogClient/BPA.Component.LogClient.xml
@@ -0,0 +1,523 @@
+
+
+
+ BPA.Component.LogClient
+
+
+
+
+ AttributeExtensions
+
+
+
+
+ GetFirstCustomAttribute
+
+
+
+
+
+
+
+ BPALogManager
+
+
+
+
+ 获取当前类的Logger
+
+
+
+
+
+
+ 获取当前类的Logger
+
+
+
+
+
+ 获取当前类的Logger
+
+
+
+
+
+ 获取Logger
+
+
+
+
+
+
+
+ 获取Logger
+
+
+
+
+
+
+ BPALoggerConfigurationExtensions
+
+
+
+
+ UseBPALog,
+
+
+
+
+
+
+
+
+ Configure Log
+
+
+
+
+
+ Microsoft.Extensions.Logging.ILogger Extensions
+
+
+
+
+ DebugJson
+
+ DebugJson("message:{userInfo}",userInfo)
+
+
+
+
+
+
+
+
+
+
+ DebugJson
+
+ DebugJson("message:{userInfo1},{userInfo2}",userInfo1,userInfo2)
+
+
+
+
+
+
+
+
+
+
+
+
+ DebugJson
+
+ DebugJson("message:{userInfo1},{userInfo2},{userInfo3}",userInfo1,userInfo2,userInfo3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ InfoJson
+
+ InfoJson("message:{userInfo}",userInfo)
+
+
+
+
+
+
+
+
+
+
+ InfoJson
+
+ InfoJson("message:{userInfo1},{userInfo2}",userInfo1,userInfo2)
+
+
+
+
+
+
+
+
+
+
+
+
+ InfoJson
+
+ InfoJson("message:{userInfo1},{userInfo2},{userInfo3}",userInfo1,userInfo2,userInfo3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WarnJson
+
+ WarnJson("message:{userInfo}",userInfo)
+
+
+
+
+
+
+
+
+
+
+ WarnJson
+
+ WarnJson("message:{userInfo1},{userInfo2}",userInfo1,userInfo2)
+
+
+
+
+
+
+
+
+
+
+
+
+ WarnJson
+
+ WarnJson("message:{userInfo1},{userInfo2},{userInfo3}",userInfo1,userInfo2,userInfo3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ErrorJson
+
+ ErrorJson(exception,"message:{userInfo}",userInfo)
+
+
+
+
+
+
+
+
+
+
+
+ ErrorJson
+
+ ErrorJson(exception,"message:{userInfo1},{userInfo2}",userInfo1,userInfo2)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ErrorJson
+
+ ErrorJson(exception,"message:{userInfo1},{userInfo2},{userInfo3}",userInfo1,userInfo2,userInfo3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ILoggerExtensions
+
+
+
+
+ LogObjToJson
+
+
+
+
+
+
+
+ DebugJson
+
+ DebugJson("message:{userInfo}",userInfo)
+
+
+
+
+
+
+
+
+
+
+ DebugJson
+
+ DebugJson("message:{userInfo1},{userInfo2}",userInfo1,userInfo2)
+
+
+
+
+
+
+
+
+
+
+
+
+ DebugJson
+
+ DebugJson("message:{userInfo1},{userInfo2},{userInfo3}",userInfo1,userInfo2,userInfo3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ InfoJson
+
+ InfoJson("message:{userInfo}",userInfo)
+
+
+
+
+
+
+
+
+
+
+ InfoJson
+
+ InfoJson("message:{userInfo1},{userInfo2}",userInfo1,userInfo2)
+
+
+
+
+
+
+
+
+
+
+
+
+ InfoJson
+
+ InfoJson("message:{userInfo1},{userInfo2},{userInfo3}",userInfo1,userInfo2,userInfo3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WarnJson
+
+ WarnJson("message:{userInfo}",userInfo)
+
+
+
+
+
+
+
+
+
+
+ WarnJson
+
+ WarnJson("message:{userInfo1},{userInfo2}",userInfo1,userInfo2)
+
+
+
+
+
+
+
+
+
+
+
+
+ WarnJson
+
+ WarnJson("message:{userInfo1},{userInfo2},{userInfo3}",userInfo1,userInfo2,userInfo3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ErrorJson
+
+ ErrorJson(exception,"message:{userInfo}",userInfo)
+
+
+
+
+
+
+
+
+
+
+
+ ErrorJson
+
+ ErrorJson(exception,"message:{userInfo1},{userInfo2}",userInfo1,userInfo2)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ErrorJson
+
+ ErrorJson(exception,"message:{userInfo1},{userInfo2},{userInfo3}",userInfo1,userInfo2,userInfo3)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StackTraceUsageUtils
+
+
+
+
+ GetFrameCount
+
+
+
+
+
+
+ GetStackFrameMethodName
+
+
+
+
+
+
+
+
+
+ GetStackFrameMethodClassName
+
+
+
+
+
+
+
+
+
+ Gets the fully qualified name of the class invoking the calling method, including the
+ namespace but not the assembly.
+
+
+
+
+ Gets the fully qualified name of the class invoking the calling method, including the
+ namespace but not the assembly.
+
+ StackFrame from the calling method
+ Fully qualified class name
+
+
+
+ Returns the assembly from the provided StackFrame (If not internal assembly)
+
+ Valid asssembly, or null if assembly was internal
+
+
+
+ Returns the classname from the provided StackFrame (If not from internal assembly)
+
+
+ Valid class name, or empty string if assembly was internal
+
+
+
diff --git a/src/BPA.Component.MongoClient/BPA.Component.MongoClient/BPA.Component.MongoClient.xml b/src/BPA.Component.MongoClient/BPA.Component.MongoClient/BPA.Component.MongoClient.xml
new file mode 100644
index 0000000..0ce96a4
--- /dev/null
+++ b/src/BPA.Component.MongoClient/BPA.Component.MongoClient/BPA.Component.MongoClient.xml
@@ -0,0 +1,1580 @@
+
+
+
+ BPA.Component.MongoClient
+
+
+
+
+ MongoDb基础仓储
+
+
+
+
+ 当前企业(商户)Id
+
+
+
+
+ 当前MongoDB上下文
+
+
+
+
+ 当前需要操作的文档集
+
+
+
+
+ MongoDbProvider
+
+
+
+
+ 构造方法
+
+
+
+
+
+ 切换企业Id
+
+
+
+
+
+ 检查当前文档集
+
+
+
+
+ 插入一个 ,等同使用:IMongoCollection.InsertOne
+
+ 文档对象
+ 插入配置选项
+
+
+
+ 插入多个,等同使用:
+ IMongoCollection.InsertMany(IClientSessionHandle, IEnumerable{TDocument}, InsertManyOptions, CancellationToken)
+
+ 文档对象
+ 插入配置选项
+
+
+
+ 插入一个 ,等同使用:IMongoCollection.InsertOneAsync
+
+ 文档对象
+ 插入配置选项
+
+
+
+ 插入多个,等同使用:
+ IMongoCollection.InsertManyAsync(IEnumerable{TDocument}, InsertManyOptions, CancellationToken)
+
+ 文档对象
+ 插入配置选项
+
+
+
+ 更新满足条件的第一条数据,
+ IMongoCollection.UpdateOne(FilterDefinition{TDocument}, UpdateDefinition{TDocument}, UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+ 更新满足条件的第一条数据,
+ IMongoCollection.UpdateOneAsync(FilterDefinition{TDocument}, UpdateDefinition{TDocument}, UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+ 更新满足条件的多条数据,
+ IMongoCollection.UpdateOne(FilterDefinition{TDocument}, UpdateDefinition{TDocument},UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+ 更新满足条件的多条数据,
+ IMongoCollection.UpdateOne(FilterDefinition{TDocument}, UpdateDefinition{TDocument},UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+ 自定义字段更新 更新满足条件的第一条数据,实体键_id不允许更新
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 自定义字段更新 更新满足条件的第一条数据,实体键_id不允许更新
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 自定义更新字段和条件,更新单条符合条件的数据
+
+
+
+
+
+
+
+
+ 自定义更新字段和条件,更新单条符合条件的数据
+
+
+
+
+
+
+
+
+ 自定义更新字段和条件,更新条符合条件的数据
+
+
+
+
+
+
+
+
+ 自定义更新字段和条件,更新条符合条件的数据
+
+
+
+
+
+
+
+
+ 自定义字段更新 更新满足条件的多条数据,实体键_id不允许更新
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 自定义字段更新 更新满足条件的多条数据,实体键_id不允许更新
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 Id,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象对象
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 Id,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象对象
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 ID,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象对象
+ 查询添加表达式
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 ID,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象对象
+ 查询添加表达式
+
+
+
+
+ 删除满足条件的第一条数据,等同于
+ IMongoCollection.DeleteOne(FilterDefinition{TDocument}, CancellationToken)
+
+ 删除条件表达式
+
+
+
+ 删除满足条件的第一条数据,等同于
+ IMongoCollection.DeleteOne(FilterDefinition{TDocument}, CancellationToken)
+
+ 删除条件表达式
+
+
+
+ 批量删除满足条件的多条数据,等同于
+ IMongoCollection.DeleteMany(FilterDefinition{TDocument}, CancellationToken)
+
+ 删除条件表达式
+
+
+
+ 批量删除满足条件的多条数据,等同于
+ IMongoCollection.DeleteMany(FilterDefinition{TDocument}, CancellationToken)
+
+ 删除条件表达式
+
+
+
+ 根据条件查询
+
+
+
+
+
+
+
+ 根据条件查询
+
+
+
+
+
+
+
+ 可查询
+
+
+
+
+
+ 可查询 根据条件
+
+
+
+
+
+
+ 可查询 根据条件
+
+
+
+
+
+
+
+ 根据条件判断是否存在
+
+
+
+
+
+
+ 根据ID获取entity
+
+
+
+
+
+
+ 根据ID获取entity
+
+
+
+
+
+
+ 根据ID获取entity
+
+
+ 需要返会的字段表达式
+
+
+
+
+ 根据条件 获取第一条数据
+
+ 条件
+ 返回的新对象选择表达式
+
+
+
+
+ 根据条件 获取第一条数据
+
+ 条件
+ 返回的新对象选择表达式
+
+
+
+
+ 根据条件 获取第一条数据
+
+
+
+
+
+
+ 根据条件 获取第一条数据
+
+
+
+
+
+
+ 根据条件获取集合
+
+
+
+
+
+
+ 根据条件获取集合
+
+
+
+
+
+
+ 根据条件获取集合
+
+
+
+
+
+
+
+ 根据条件获取集合
+
+
+
+
+
+
+
+ 创建过滤条件定义
+
+
+
+
+ 创建索引条件定义
+
+
+
+
+ 创建更新条件定义
+
+
+
+
+ 创建排序条件定义
+
+
+
+
+ Filter
+
+
+
+
+ Update
+
+
+
+
+ Sort
+
+
+
+
+ BPABsonClassMapSerializationProvider
+
+
+
+
+
+
+
+ 字段名称 驼峰命令
+
+
+
+
+ Applies a modification to the member map.
+
+ The member map.
+
+
+
+ BPADefaultConventionPack
+
+
+
+
+ Gets the instance.
+
+
+
+
+ Gets the conventions.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ BPASerializationProvider
+
+
+
+
+
+
+
+ JArraySerializer
+
+
+
+
+ Representation
+
+
+
+
+ JArray
+
+
+
+
+ EnumBsonSerializer
+
+
+
+
+ Serialize
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Serialize
+
+
+
+
+
+
+
+ EnumBsonSerializer
+
+
+
+
+
+ Representation
+
+
+
+
+ EnumBsonSerializer
+
+
+
+
+ Initializes a new instance of the class.
+
+ The representation.
+
+
+
+ Deserialize
+
+
+
+
+
+
+
+ Serialize
+
+
+
+
+
+
+
+ WithRepresentation
+
+
+
+
+
+
+ WithRepresentation
+
+
+
+
+
+
+ 驼峰命名
+
+
+
+
+
+ ToLower
+
+
+
+
+
+
+ JArraySerializer
+
+
+
+
+ Representation
+
+
+
+
+ JArray
+
+
+
+
+ EnumBsonSerializer
+
+
+
+
+ Serialize
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JObject
+
+
+
+
+ Representation
+
+
+
+
+ JArray
+
+
+
+
+ EnumBsonSerializer
+
+
+
+
+ Serialize
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Maps a fully immutable type. This will include anonymous types.
+
+
+
+
+
+
+
+ MongoDB仓储接口
+
+
+
+
+ 当前企业(商户)Id
+
+
+
+
+ 切换企业Id
+
+
+
+
+
+ MongonDbProvider
+
+
+
+
+ 当前MongoDB上下文
+
+
+
+
+ 当前需要操作的文档集
+
+
+
+
+ 插入一个 ,等同使用:IMongoCollection.InsertOne
+
+ 文档对象
+ 插入配置选项
+
+
+
+ 插入多个,等同使用:
+ IMongoCollection.InsertMany(IClientSessionHandle, IEnumerable{TDocument}, InsertManyOptions, CancellationToken)
+
+ 文档对象
+ 插入配置选项
+
+
+
+ 插入一个 ,等同使用:IMongoCollection.InsertOneAsync
+
+ 文档对象
+ 插入配置选项
+
+
+
+ 插入多个,等同使用:
+ IMongoCollection.InsertManyAsync(IEnumerable{TDocument}, InsertManyOptions, CancellationToken)
+
+ 文档对象
+ 插入配置选项
+
+
+
+ 更新满足条件的第一条数据,
+ IMongoCollection.UpdateOne(FilterDefinition{TDocument}, UpdateDefinition{TDocument}, UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+ 更新满足条件的第一条数据,
+ IMongoCollection.UpdateOneAsync(FilterDefinition{TDocument}, UpdateDefinition{TDocument}, UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+ 更新满足条件的多条数据,
+ IMongoCollection.UpdateOne(FilterDefinition{TDocument}, UpdateDefinition{TDocument},UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+ 更新满足条件的多条数据,
+ IMongoCollection.UpdateOne(FilterDefinition{TDocument}, UpdateDefinition{TDocument},UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+ 自定义字段更新 更新满足条件的第一条数据,实体键_id不允许更新
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 自定义字段更新 更新满足条件的第一条数据,实体键_id不允许更新
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 自定义字段更新 更新满足条件的多条数据,实体键_id不允许更新
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 自定义字段更新 更新满足条件的多条数据,实体键_id不允许更新
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 自定义更新字段和条件,更新单条符合条件的数据
+
+
+
+
+
+
+
+
+ 自定义更新字段和条件,更新单条符合条件的数据
+
+
+
+
+
+
+
+
+ 自定义更新字段和条件,更新条符合条件的数据
+
+
+
+
+
+
+
+
+ 自定义更新字段和条件,更新条符合条件的数据
+
+
+
+
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 Id,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象对象
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 Id,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象对象
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 ID,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象对象
+ 查询添加表达式
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 ID,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象对象
+ 查询添加表达式
+
+
+
+
+ 删除满足条件的第一条数据,等同于
+ IMongoCollection.DeleteOne(FilterDefinition{TDocument}, CancellationToken)
+
+ 删除条件表达式
+
+
+
+ 删除满足条件的第一条数据,等同于
+ IMongoCollection.DeleteOne(FilterDefinition{TDocument}, CancellationToken)
+
+ 删除条件表达式
+
+
+
+ 批量删除满足条件的多条数据,等同于
+ IMongoCollection.DeleteMany(FilterDefinition{TDocument}, CancellationToken)
+
+ 删除条件表达式
+
+
+
+ 批量删除满足条件的多条数据,等同于
+ IMongoCollection.DeleteMany(FilterDefinition{TDocument}, CancellationToken)
+
+ 删除条件表达式
+
+
+
+ 根据条件查询
+
+
+
+
+
+
+
+ 根据条件查询
+
+
+
+
+
+
+
+ 可查询
+ , 同步时用ToList, 异步时用 ToListAsync
+
+
+
+
+
+ 可查询 根据条件 , 同步时用ToList, 异步时用 ToListAsync
+
+
+
+
+
+
+ 可查询 根据条件 , 同步时用ToList , 异步时用 ToListAsync
+
+
+
+
+
+
+
+ 根据条件判断是否存在
+
+
+
+
+
+
+ 根据ID获取entity
+
+
+
+
+
+
+ 根据ID获取entity
+
+
+
+
+
+
+ 根据ID获取entity
+
+
+ 需要返回的字段表达式
+
+
+
+
+ 根据条件 获取第一条数据
+
+ 条件
+ 返回的新对象选择表达式
+
+
+
+
+ 根据条件 获取第一条数据
+
+ 条件
+ 返回的新对象选择表达式
+
+
+
+
+ 根据条件 获取第一条数据
+
+
+
+
+
+
+ 根据条件 获取第一条数据
+
+
+
+
+
+
+ 根据条件获取集合
+
+
+
+
+
+
+ 根据条件获取集合
+
+
+
+
+
+
+ 根据条件获取集合
+
+
+
+
+
+
+
+ 根据条件获取集合
+
+
+
+
+
+
+
+ Filter
+
+
+
+
+ Update
+
+
+
+
+ Sort
+
+
+
+
+ 创建过滤条件定义
+
+
+
+
+ 创建索引条件定义
+
+
+
+
+ 创建更新条件定义
+
+
+
+
+ 创建排序条件定义
+
+
+
+
+ MongoDb配置
+
+
+
+
+ 别名,同一种的业务数据库的可以有多个,但是每个的别名都不能相同
+
+
+
+
+ 连接字符串
+
+
+
+
+ 数据库名称
+
+
+
+
+ MongoDbContext
+
+
+
+
+ 当前连接
+
+
+
+
+ 当前操作数据库
+
+
+
+
+ 企业ID
+
+
+
+
+ 构造方法
+
+
+
+
+
+
+
+ 检查数据库是否存在
+
+
+
+
+
+
+
+ 检查文档集是否存在
+
+
+
+
+
+
+
+ 获取文档集接口
+
+
+
+
+
+
+
+
+ 根据企业名称和文档集类型构建 文档集名称
+
+ 返回文档集格式:{typeof(TDocument).Name}{corpId},
+
+
+
+ 企业ID
+
+
+
+
+ 根据企业ID获取,获取文档集接口
+
+
+
+
+
+
+
+ 检查文档集是否存在
+
+ 文档集名称
+
+
+
+
+ 清空文档集数据
+
+
+
+
+
+ 销毁
+
+
+
+
+ MongoDB 文件集扩展类
+
+
+
+
+ 聚合默认选项
+
+
+
+
+ 创建文档集
+
+ 文档集类型
+
+ 文档集名称
+
+
+
+
+ 创建文档集索引,倒序
+
+
+
+
+
+
+
+
+
+ 插入一个 ,等同使用:IMongoCollection.InsertOne
+
+ 文档集类型
+ 文档集
+ 文档对象
+ 插入配置选项
+
+
+
+ 插入多个,等同使用:
+ IMongoCollection.InsertMany(IClientSessionHandle, IEnumerable{TDocument}, InsertManyOptions, CancellationToken)
+
+ 文档集类型
+ 文档集
+ 文档对象
+ 插入配置选项
+
+
+
+ 构建更新操作定义
+
+ bsondocument文档
+
+
+
+
+
+ 更新满足条件的第一条数据,
+ IMongoCollection.UpdateOne(FilterDefinition{TDocument}, UpdateDefinition{TDocument}, UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+
+
+ 更新满足条件的第一条数据,
+ IMongoCollection.UpdateOne(FilterDefinition{TDocument}, UpdateDefinition{TDocument}, UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+
+
+ 更新满足条件的多条数据,
+ IMongoCollection.UpdateOne(FilterDefinition{TDocument}, UpdateDefinition{TDocument},UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+
+
+ 更新满足条件的多条数据,
+ IMongoCollection.UpdateOne(FilterDefinition{TDocument}, UpdateDefinition{TDocument},UpdateOptions, CancellationToken)
+
+
+
+
+
+
+
+
+
+ 根据更新字段表达式组装UpdateDefinitioons
+
+
+
+
+
+
+
+ 自定义字段更新 更新满足条件的第一条数据,实体键_id不允许更新
+
+ 数据库实体类型
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 自定义字段更新 更新满足条件的第一条数据,实体键_id不允许更新
+
+ 数据库实体类型
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 自定义字段更新 更新满足条件的多条数据,实体键_id不允许更新
+
+ 数据库实体类型
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 自定义字段更新 更新满足条件的多条数据,实体键_id不允许更新
+
+ 数据库实体类型
+
+ 更新条件
+ 更新字段表达式:x=>new TDocument{ F1=1,F2=2 }
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 Id,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象类型
+ 文档集操作接口
+ 文档对象对象
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 Id,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象类型
+ 文档集操作接口
+ 文档对象对象
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 ID,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象类型
+ 文档集操作接口
+ 文档对象对象
+ 查询添加表达式
+
+
+
+
+ 异步覆盖更新满足条件的第一条数据,主键字段名称必须是 ID,等同
+ IMongoCollection.ReplaceOne(FilterDefinition{TDocument}, TDocument, ReplaceOptions, CancellationToken)
+
+ 文档对象类型
+ 文档集操作接口
+ 文档对象对象
+ 查询添加表达式
+
+
+
+
+ 删除满足条件的第一条数据,等同于
+ IMongoCollection.DeleteOne(FilterDefinition{TDocument}, CancellationToken)
+
+ 文档对象类型
+ 文档集操作接口
+ 删除条件表达式
+
+
+
+ 批量删除满足条件的多条数据,等同于
+ IMongoCollection.DeleteMany(FilterDefinition{TDocument}, CancellationToken)
+
+ 文档对象类型
+ 文档集操作接口
+ 删除条件表达式
+
+
+
+ AggregateWithDefautSortOption
+
+
+
+
+
+
+
+
+ 可查询
+
+
+
+
+
+
+
+ 分页查询,统计总共多少条
+
+ 文档集类型
+ 可查询器
+ 页码,第几页,默认1
+ 每页条数,默认10
+ 总共多少条
+
+
+
+
+ 分页查询,统计总共多少条,可以根据查询新对象的表达式,返回新对象集合
+
+ 文档集类型
+ 新结构类型
+ 可查询器
+ 查询func,查询返回新对象的表达式
+ 页码,第几页,默认1
+ 每页条数,默认10
+ 总共多少条
+
+
+
+
+ 分页查询
+
+ 文档集类型
+ 可查询器
+ 页码,第几页,默认1
+ 每页条数,默认10
+
+
+
+
+ 分页查询,可以根据查询新对象的表达式,返回新对象集合
+
+ 文档集类型
+ 新结构类型
+ 可查询器
+ 查询func,查询返回新对象的表达式
+ 页码,第几页,默认1
+ 每页条数,默认10
+
+
+
+
+ 当condition为true,才会执行where表达式里面的条件
+
+ 文档集类型
+ 可查询器
+ 前置条件
+ where表达式
+
+
+
+
+ 当condition为true,才会执行where表达式里面的条件
+
+ 文档集类型
+ 可查询器
+ 前置条件
+ where表达式
+
+
+
+
+ 根据selectNewResultExp 表达式返回新的查询结果,最终要执行 必须ToList、Single、 Any
+
+
+
+
+
+
+
+
+
+
+ 根据selectNewResultExp 表达式返回新的查询结果,最终要执行 必须ToList、Single、 Any
+
+
+
+
+
+
+
+
+
+
+ 创建过滤条件定义
+
+
+
+
+
+ 创建索引条件定义
+
+
+
+
+
+ 创建更新条件定义
+
+
+
+
+
+ 创建排序条件定义
+
+
+
+
+
+ AddToSet 追加到数组
+
+
+
+
+
+
+
+
+ AddToSet 追加到数组
+
+
+
+
+
+
+
+
+ MongoDbContext 工厂
+
+
+
+
+ 企业和别名的关系
+
+
+
+
+ 别名和mongondb实例的对应关系
+
+
+
+
+ 别名和连接配置关系
+
+
+
+
+ MongonDbFactory
+
+
+
+
+
+ 设置数据库连接配置
+
+
+
+
+
+ 根据企业ID获取MongoDb上下文对象
+
+ 企业ID
+
+
+
+
+ GetMongoDatabase
+
+
+
+
+
+
+ 获取所有的数据库操作对象 别名+数据库操作对象
+
+
+
+
+
+ 根据企业Id获取数据库别名,子类必须实现
+
+
+
+
+
+ 获取文档集接口
+
+
+ 企业ID
+
+
+
+
+
diff --git a/src/BPA.Component.SDKCommon/BPA.Component.SDKCommon/BPA - Backup.Component.SDKCommon.csproj b/src/BPA.Component.SDKCommon/BPA.Component.SDKCommon/BPA - Backup.Component.SDKCommon.csproj
new file mode 100644
index 0000000..0dfb85e
--- /dev/null
+++ b/src/BPA.Component.SDKCommon/BPA.Component.SDKCommon/BPA - Backup.Component.SDKCommon.csproj
@@ -0,0 +1,34 @@
+
+
+ net6.0
+ enable
+ enable
+ BPA.Component.SDKCommon
+ BPA.Component.SDKCommon
+ 1.0.2
+ 黑菠萝-SDK基础类
+
+
+
+ bin\BPA.Component.ApolloClient.xml
+
+
+ bin\BPA.Component.ApolloClient.xml
+
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
\ No newline at end of file