0

Dictionary のようなフィールドを含むアイテムを保存します mongo では、このフィールドには _t = System.Collections.Generic.Dictionary`2[System.String,[Namespace.MyType, Namespace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=89b48272fdae8cae] があります]

Version と PublicKeyToken は必要ありません。これは次のバージョンのアセンブリで問題になります System.Collections.Generic.Dictionary`2[System.String,[Namespace.MyType]] のような _t プロパティを使用してデータを保存するにはどうすればよいですか?

4

1 に答える 1

0

タイプ識別子は、宣言されたタイプを継承し、格納されたタイプに解決するために使用されます。具体的なプロパティを持つ具体的なクラスがある場合は、識別子は必要ありません。

クラスにプロパティがあるとしましょう。

public class Foo : MyBase{
   ...
   public string Title {get;set;}
}

public class Bar: MyBase{
   ...
   public string Title {get;set;}
}

ドライバーは、そのINを文字列配列にマップし、mongodb {_id:...、Title:"Hello"}に格納できる可能性があります。

ただし、OUTの途中で、ドライバーはBSON配列がどうなるかを決定する必要があります。タイプ識別子がない場合、次のインスタンスを生成する必要があります:Foo?バー?MyBase?

ディクショナリ(isではなく具体的​​なディクショナリ)を持つクラスがある場合は、これの多くを回避できます。

于 2013-02-18T18:01:02.190 に答える