예제 #1
0
 bool IBsonSerializable.GetDocumentId(
     out object id,
     out IBsonIdGenerator idGenerator
 )
 {
     throw new InvalidOperationException();
 }
 public virtual bool GetDocumentId(
     object document,
     out object id,
     out IBsonIdGenerator idGenerator
 )
 {
     throw new InvalidOperationException("Subclass must implement GetDocumentId");
 }
 public bool GetDocumentId(
     object document,
     out object id,
     out IBsonIdGenerator idGenerator
 )
 {
     var bsonSerializable = (IBsonSerializable) document;
     return bsonSerializable.GetDocumentId(out id, out idGenerator);
 }
 public override bool GetDocumentId(
     object document,
     out object id,
     out IBsonIdGenerator idGenerator
 )
 {
     var bsonDocument = (BsonDocument) document;
     return bsonDocument.GetDocumentId(out id, out idGenerator);
 }
 public bool GetDocumentId(
     object document,
     out object id,
     out IBsonIdGenerator idGenerator
 )
 {
     var classMap = BsonClassMap.LookupClassMap(document.GetType());
     var idMemberMap = classMap.IdMemberMap;
     if (idMemberMap != null) {
         id = idMemberMap.Getter(document);
         idGenerator = idMemberMap.IdGenerator;
         return true;
     } else {
         id = null;
         idGenerator = null;
         return false;
     }
 }
 public bool GetDocumentId(
     out object id,
     out IBsonIdGenerator idGenerator
 )
 {
     throw new InvalidOperationException();
 }
예제 #7
0
 public BsonMemberMap SetIdGenerator(
     IBsonIdGenerator idGenerator
 )
 {
     this.idGenerator = idGenerator;
     return this;
 }