我存储包含Dictionary等字段的项目 在mongo中,这个字段有_t = System.Collections.Generic.Dictionary`2 [System.String,[Namespace.MyType,Namespace,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 89b48272fdae8cae]]
我不需要Version和PublicKeyToken,这对于下一版本的程序集来说是一个麻烦 如何使用_t属性存储数据,如System.Collections.Generic.Dictionary`2 [System.String,[Namespace.MyType]]?
答案 0 :(得分:0)
类型鉴别器用于继承并将声明的类型解析为存储类型。 如果你有一个具体属性的具体类,你不应该需要一个鉴别器。
假设你在课堂上有一个属性:
public class Foo : MyBase{
...
public string Title {get;set;}
}
public class Bar: MyBase{
...
public string Title {get;set;}
}
驱动程序可能能够将IN映射到字符串数组并存储在mongodb中 {_id:...,标题:“你好”}
在OUT的路上,驱动程序必须决定BSON阵列会变成什么样。没有类型鉴别器,它应该生成一个实例:Foo?酒吧? MyBase?
如果你有一个具有一个具体字典而不是一个字典的类,你可以避免这么做。