Skip to content

Instantly share code, notes, and snippets.

@beyond-code-github
Created April 22, 2013 20:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beyond-code-github/5438185 to your computer and use it in GitHub Desktop.
Save beyond-code-github/5438185 to your computer and use it in GitHub Desktop.
Implementation of BsonDocument backed class
using System;
using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Attributes;
[Serializable]
[BsonSerializer(typeof(MongoDocumentClassSerializer))]
public class MongoDocument : BsonDocumentBackedClass
{
public MongoDocument()
: base(new MongoDocumentClassSerializer())
{
}
public MongoDocument(BsonDocument backingDocument)
: base(backingDocument, new MongoDocumentClassSerializer())
{
}
public MongoDocument(BsonDocument backingDocument, IBsonDocumentSerializer serializer)
: base(backingDocument, serializer)
{
}
[BsonId]
public ObjectId Id { get; set; }
public BsonValue this[string fieldname]
{
get
{
return this.BackingDocument[fieldname];
}
set
{
this.BackingDocument[fieldname] = value;
}
}
public static implicit operator BsonDocument(MongoDocument document)
{
return document.BackingDocument;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment