我在 Mongo-C# 环境中并使用 10Gen Mongo 驱动程序。当我尝试反序列化 Mongo 文档中的数据时,当它有一个子文档并且该子文档不是强类型时,我遇到了一个问题。换句话说,如果子文档是一个 Expando 或只是一个匿名 object() 那么它在反序列化时会给出错误,并出现以下错误:
System.IO.FileFormatException:被反序列化为 System.Object 的文档必须为空。
我们可以在 Mongo 读/写之前和之后放置一个过滤器,它将我的对象即时转换为 BSONDocument,但我认为 BSOnDocument 和(Expando 或匿名类型)之间没有可用的转换。
编写自定义反序列化工具听起来工作量太大。我只是想知道是否有人以前遇到过这个问题以及他们是如何处理这个问题的?