public BlittableJsonReaderObject ToBlittable(object entity, IMetadataDictionary metadata, JsonOperationContext context, IJsonSerializer jsonSerializer)
 {
     using (var writer = new BlittableJsonWriter(context, new DocumentInfo {
         MetadataInstance = metadata
     }))
         return(ToBlittableInternal(entity, Conventions.Conventions, context, jsonSerializer, writer));
 }
Beispiel #2
0
        public BlittableJsonReaderObject ToBlittable(object entity, DocumentInfo documentInfo)
        {
            //maybe we don't need to do anything..
            if (entity is BlittableJsonReaderObject blittable)
            {
                return(blittable);
            }

            if (documentInfo != null)
            {
                _session.OnBeforeConversionToDocumentInvoke(documentInfo.Id, entity);
            }

            using (DefaultRavenContractResolver.RegisterExtensionDataGetter(FillMissingProperties))
                using (var writer = new BlittableJsonWriter(_session.Context, documentInfo))
                {
                    var document = ToBlittableInternal(entity, _session.Conventions, _session.Context, _session.JsonSerializer, writer);

                    if (documentInfo != null)
                    {
                        _session.OnAfterConversionToDocumentInvoke(documentInfo.Id, entity, ref document);
                    }

                    return(document);
                }
        }
 public BlittableJsonReaderObject ToBlittable(object entity, JsonOperationContext context, IJsonSerializer jsonSerializer)
 {
     using (var writer = new BlittableJsonWriter(context, documentInfo: null))
         return(ToBlittableInternal(entity, Conventions.Conventions, context, jsonSerializer, writer, removeIdentityProperty: false));
 }