sql >> データベース >  >> NoSQL >> MongoDB

表現シリアル化オプションを使用すると、IdMemberMapがnullになります

    これは、C#ドライバーのバグであることの境界です。 IdMemberMapは、クラスマップが「フリーズ」されるまで定義されないことがわかります。これは、Idが実際に基本クラスで定義される可能性があるクラス階層に関係しているためです。これを回避する1つの方法は次のとおりです。

    BsonClassMap.RegisterClassMap<Person>(cm => {
        cm.AutoMap();
        cm.Freeze();
        cm.IdMemberMap.SetRepresentation(BsonType.ObjectId);
    });
    

    回避する別の方法は、IdMemberMapの代わりにGetMemberMapを使用することです:

    BsonClassMap.RegisterClassMap<Person>(cm => {
        cm.AutoMap();
        cm.GetMemberMap(c => c.Id).SetRepresentation(BsonType.ObjectId);
    });
    


    1. mongodb-ネストされたサブドキュメントの巻き戻し

    2. Mongodbドット表記ワイルドカード?

    3. antlrparsetreeを使用してSQLクエリを解析してJavaでmongobsonドキュメントに変換する

    4. mongorestoreランダムクラッシュ(致命的なエラー)