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

MongoDbの名前空間内のすべてのクラスのClassMapを登録するにはどうすればよいですか?

    BsonClassMap.RegisterClassMap<MyClass>();を記述する必要はありません。 、すべてのクラスがデフォルトで自動マッピングされるためです。

    RegisterClassMapを使用する必要があります カスタムシリアル化が必要な場合:

     BsonClassMap.RegisterClassMap<MyClass>(cm => {
            cm.AutoMap();
            cm.SetIdMember(cm.GetMemberMap(c => c.SomeProperty));
        });
    

    また、属性を使用してシリアル化の管理を作成することもできます(私にとってはよりネイティブに見えます):

    [BsonId] // mark property as _id
    [BsonElement("SomeAnotherName", Order = 1)] //set property name , order
    [BsonIgnoreExtraElements] // ignore extra elements during deserialization
    [BsonIgnore] // ignore property on insert
    

    また、次のように、自動マッピング中に使用されるグローバルルールを作成できます。

    var myConventions = new ConventionProfile();
    myConventions.SetIdMemberConvention(new NoDefaultPropertyIdConvention());
    BsonClassMap.RegisterConventions(myConventions, t => true);
    

    シリアル化プロセスを管理するために属性と規則のみを使用しています。

    この助けを願っています。



    1. documentdbのサブフィールドのクエリ

    2. mongoデータベースにクエリを実行するための検索バーを備えたWebサイトを作成するにはどうすればよいですか?

    3. mongodシェルが起動せず、data/dbが存在しない

    4. アグリゲーションフレームワークパイプラインの配列サブセット