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

C# MongoDB:Bagaimana cara memetakan objek domain dengan benar?

Dimungkinkan untuk membuat serial/deserialisasi kelas di mana propertinya hanya-baca. Jika Anda mencoba untuk menjaga kegigihan objek domain Anda tetap bodoh, Anda tidak akan ingin menggunakan BsonAttributes untuk memandu serialisasi, dan seperti yang Anda tunjukkan AutoMapping memerlukan properti baca/tulis, jadi Anda harus mendaftarkan peta kelas sendiri. Misalnya, kelas:

public class C {
    private ObjectId id;
    private int x;

    public C(ObjectId id, int x) {
        this.id = id;
        this.x = x;
    }

    public ObjectId Id { get { return id; } }
    public int X { get { return x; } }
}

Dapat dipetakan menggunakan kode inisialisasi berikut:

BsonClassMap.RegisterClassMap<C>(cm => {
    cm.MapIdField("id");
    cm.MapField("x");
});

Perhatikan bahwa bidang pribadi tidak dapat dibaca saja. Perhatikan juga bahwa deserialisasi melewati konstruktor Anda dan secara langsung menginisialisasi bidang pribadi (seri .NET juga bekerja dengan cara ini).

Berikut adalah contoh program lengkap yang menguji ini:

http://www.pastie.org/1822994



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 3 Cara Menyembunyikan Indeks dari Paket Kueri di MongoDB

  2. Masalah dengan @Qualifier

  3. Flask MongoEngine Membuat Halaman Dokumen dengan Bidang Gambar

  4. MongoDB $atan2

  5. Id Mongo mengarah ke URL yang menakutkan