UpT*_*eek 7 c# mongodb mongodb-.net-driver
我正在研究MongoDB.据我所知,官方C#驱动程序可以执行POCO的序列化和反序列化.我还没有找到的信息是如何序列化两个对象之间的引用.[我正在谈论的东西将被表示为两个单独的文档,具有ID链接,而不是嵌入的文档.
序列化机制可以处理这种情况吗?(1):
class Thing {
    Guid Id {get; set;}
    string Name {get; set;}
    Thing RelatedThing {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
或者我们是否必须牺牲一些OOP,并做这样的事情?(2):
class Thing {
    Guid Id {get; set;}
    string Name {get; set;}
    Guid RelatedThing_ID {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
更新:
然后只是几个相关的问题......
a)如果序列化器能够处理情况(1).如何在不使用嵌入的情况下执行此操作的示例是什么?
b)如果使用嵌入,是否可以查询所有"事物",无论它们是"父母"还是嵌入元素?这样的查询怎么样?
Rob*_*tam 12
C#驱动程序可以处理包含对其自身另一个实例的引用的类的序列化(1).然而:
如果要将其存储为单独的文档,则必须使用第二个类(2)并执行多个插入.
当对象存储为具有嵌套嵌入的一个大文档时,实际上不可能跨多个级别进行查询.您可能希望查看一些替代方案,例如:
http://www.mongodb.org/display/DOCS/Trees+in+MongoDB
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           5520 次  |  
        
|   最近记录:  |