MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara RegisterClassMap untuk semua kelas dalam namespace untuk MongoDb?

Anda tidak perlu menulis BsonClassMap.RegisterClassMap<MyClass>(); , karena semua kelas akan dipetakan secara otomatis secara default.

Anda harus menggunakan RegisterClassMap ketika Anda membutuhkan serialisasi khusus:

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

Anda juga dapat menggunakan atribut untuk membuat mengelola serialisasi (sepertinya lebih asli bagi saya):

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

Anda juga dapat membuat aturan global yang digunakan selama pemetaan otomatis, seperti ini:

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

Saya hanya menggunakan atribut dan konvensi untuk mengelola proses serialisasi.

Semoga membantu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Percona Live Frankfurt 2018 - Rekap Acara &Sesi Kami

  2. Bagaimana Cara Mencocokkan Koleksi yang Digabung Menggunakan Laravel dan MongoDB?

  3. mendapatkan InvalidOperationException saat menanyakan dengan AsQueryable di C #

  4. Disebabkan oleh:org.bson.BsonInvalidOperationException:Status tidak valid AWAL

  5. Cara melihat perubahan pada bidang tertentu di aliran perubahan MongoDB