Beispiel #1
0
        public IRavenQueryable <TResult> TransformWith <TTransformer, TResult>() where TTransformer : AbstractTransformerCreationTask, new()
        {
            var transformer = new TTransformer();

            provider.TransformWith(transformer.TransformerName);
            return((IRavenQueryable <TResult>) this.As <TResult>());
        }
        Lazy <TResult[]> ILazySessionOperations.Load <TTransformer, TResult>(params string[] ids)
        {
            var cmds = GetCommandsToOperateOn(new ShardRequestData
            {
                Keys       = ids,
                EntityType = typeof(TTransformer)
            });
            var transformer = new TTransformer().TransformerName;
            var op          = new LoadTransformerOperation(this, transformer, ids);

            var lazyLoadOperation = new LazyTransformerLoadOperation <TResult>(ids, transformer, op, false);

            return(AddLazyOperation <TResult[]>(lazyLoadOperation, null, cmds));
        }
Beispiel #3
0
        public IRavenQueryable <TResult> TransformWith <TTransformer, TResult>() where TTransformer : AbstractTransformerCreationTask, new()
        {
            var transformer = new TTransformer();

            provider.TransformWith(transformer.TransformerName);
            var res = (IRavenQueryable <TResult>) this.As <TResult>();

            res.OriginalQueryType = res.OriginalQueryType ?? typeof(T);
            var p = res.Provider as IRavenQueryProvider;

            if (null != p)
            {
                p.OriginalQueryType = res.OriginalQueryType;
            }
            return(res);
        }
Beispiel #4
0
        public TResult[] Load <TTransformer, TResult>(params string[] ids) where TTransformer : AbstractTransformerCreationTask, new()
        {
            var transformer = new TTransformer().TransformerName;

            return(LoadInternal <TResult>(ids, transformer));
        }
Beispiel #5
0
        public Task <T[]> LoadAsync <TTransformer, T>(params string[] ids) where TTransformer : AbstractTransformerCreationTask, new()
        {
            var transformer = new TTransformer();

            return(LoadAsyncInternal <T>(ids, null, transformer.TransformerName));
        }