protected override void WriteBody() { buffer.WriteInt32(0); // reserved buffer.WriteCString(collectionFullName); buffer.WriteInt32((int)flags); using (var bsonWriter = CreateBsonWriter()) { BsonSerializer.Serialize(bsonWriter, query.GetType(), query, DocumentSerializationOptions.SerializeIdFirstInstance); BsonSerializer.Serialize(bsonWriter, update.GetType(), update, DocumentSerializationOptions.SerializeIdFirstInstance); } }
// internal methods internal override void WriteBodyTo(BsonStreamWriter streamWriter) { using (var bsonWriter = new BsonBinaryWriter(streamWriter.BaseStream, WriterSettings)) { bsonWriter.PushMaxDocumentSize(_maxDocumentSize); if (_query == null) { bsonWriter.WriteStartDocument(); bsonWriter.WriteEndDocument(); } else { BsonSerializer.Serialize(bsonWriter, _query.GetType(), _query, c => c.SerializeIdFirst = true); } bsonWriter.CheckUpdateDocument = _checkUpdateDocument; BsonSerializer.Serialize(bsonWriter, _update.GetType(), _update, c => c.SerializeIdFirst = true); bsonWriter.PopMaxDocumentSize(); } }
// internal methods internal override void WriteBodyTo(BsonBuffer buffer) { using (var bsonWriter = new BsonBinaryWriter(buffer, false, WriterSettings)) { bsonWriter.PushMaxDocumentSize(_maxDocumentSize); if (_query == null) { bsonWriter.WriteStartDocument(); bsonWriter.WriteEndDocument(); } else { BsonSerializer.Serialize(bsonWriter, _query.GetType(), _query, DocumentSerializationOptions.SerializeIdFirstInstance); } bsonWriter.CheckUpdateDocument = _checkUpdateDocument; BsonSerializer.Serialize(bsonWriter, _update.GetType(), _update, DocumentSerializationOptions.SerializeIdFirstInstance); bsonWriter.PopMaxDocumentSize(); } }
protected override void WriteBody() { buffer.WriteInt32(0); // reserved buffer.WriteCString(collectionFullName); buffer.WriteInt32((int)flags); using (var bsonWriter = BsonWriter.Create(buffer, writerSettings)) { if (query == null) { bsonWriter.WriteStartDocument(); bsonWriter.WriteEndDocument(); } else { BsonSerializer.Serialize(bsonWriter, query.GetType(), query, DocumentSerializationOptions.SerializeIdFirstInstance); } bsonWriter.CheckUpdateDocument = checkUpdateDocument; BsonSerializer.Serialize(bsonWriter, update.GetType(), update, DocumentSerializationOptions.SerializeIdFirstInstance); } }
// protected methods protected override void WriteBody(BsonBuffer buffer) { buffer.WriteInt32(0); // reserved buffer.WriteCString(new UTF8Encoding(false, true), _collectionFullName); buffer.WriteInt32((int)_flags); using (var bsonWriter = new BsonBinaryWriter(buffer, false, WriterSettings)) { if (_query == null) { bsonWriter.WriteStartDocument(); bsonWriter.WriteEndDocument(); } else { BsonSerializer.Serialize(bsonWriter, _query.GetType(), _query, DocumentSerializationOptions.SerializeIdFirstInstance); } bsonWriter.CheckUpdateDocument = _checkUpdateDocument; BsonSerializer.Serialize(bsonWriter, _update.GetType(), _update, DocumentSerializationOptions.SerializeIdFirstInstance); } }