Esempio n. 1
0
        protected override IStream <TOut> CreateOutputStream(ThroughEntityFrameworkCoreArgs <TInEf, TCtx, TIn, TOut> args)
        {
            var dbContextStream = args.DbContextStream.Observable.First();
            var ret             = args.SourceStream.Observable
                                  .Chunk(args.BatchSize)
                                  .CombineWithLatest(dbContextStream, (i, c) => new { Context = c, Items = i.Select(j => new Tuple <TIn, TInEf>(j, args.GetEntity(j))).ToList() }, true)
                                  .Do(i => ProcessBatch(i.Items, i.Context, args.BulkLoadMode))
                                  .FlatMap(i => PushObservable.FromEnumerable(i.Items))
                                  .Map(i => args.GetOutput(i.Item1, i.Item2));

            return(base.CreateUnsortedStream(ret));
        }
Esempio n. 2
0
 public ThroughEntityFrameworkCoreStreamNode(string name, ThroughEntityFrameworkCoreArgs <TInEf, TCtx, TIn, TOut> args) : base(name, args)
 {
 }