【发布时间】:2021-03-17 00:52:11
【问题描述】:
出于单元测试的目的,我想测试我的类映射,而不是在 MongoDB 数据库中读取和写入文档。为了处理循环父/子引用和只读属性等特殊情况,我使用了BsoncClassMap.RegisterClassMap< MyType>(...) 和一些覆盖默认AutoMap(); 生成的映射的自定义映射。
有谁知道如何将 BsonDocument 转换为所需的强类型对象而不需要往返数据库?驱动程序在往返数据存储时执行此操作。我的目标是使用 MongoDB C# 驱动程序在内部使用的相同逻辑来测试从 C# 域对象到/从 C# 域对象到 BsonDocument 的序列化。
我可以使用 Bson 扩展方法ToBsonDocument() 将 C# 对象转换为 BsonDocument 吗?我缺少的部分是该过程的逆过程 - 本质上是 BsonDocument.ToObject< MyType>();。
最新版本的官方 MongoDB C# 驱动程序可以做到这一点吗?看起来应该是这样 - 我想知道我是不是只是瞎了眼,错过了明显的东西。
【问题讨论】: