2010-12-08 29 views
14

Resmi MongoDB sürücüsünün v0.9'unu kullanıyorum ve bir koleksiyonda okumaya çalışıyorum. Veritabanımda nesnemde okumak istemediğim bir alanım var ama aşağıdaki hatayı alıyorum.Mongo C# ignore property

"Beklenmedik öğe: Ağ" Ben C# içine okuduğumda koleksiyon aynı özelliklerin tümünü sahiptir Tüccar adı verilen bir nesne oluşturmak istediğiniz veritabanı

Merchants 
- _id 
- Name 
- Description 
- Url 
- Network 

yılında şöyle

, "Ağ" dışında. Bunu nasıl yaparım?

+0

Bazı kod güzel olurdu. –

cevap

21

BSON serializer'da bu hatayı önlemek için etkinleştirebileceğiniz bir "IgnoreExtraElements" seçeneği var.

Ya Merchant sınıfına bir öznitelik olarak ayarlamak:

[BsonIgnoreExtraElements] 
public Merchant { 
    // fields and properties 
} 

veya kod sınıf haritalar kullanıyorsanız:

BsonClassMap.RegisterClassMap<Merchant>(cm => { 
    cm.AutoMap(); 
    cm.SetIgnoreExtraElements(true); 
}); 
+1

Tüm varlıklar için her bir öğe için ayrı ayrı belirtmek zorunda kalmadan ekstra öğeleri göz ardı etmenin bir yolu var mı? – Jos

+2

Stackoverflow'ta kendi sorumu için çözüm buldum: http://stackoverflow.com/questions/12944520/implement-for-all-classes-bsonignoreextraelements – Jos