protected override IStream <TIn> CreateOutputStream(DeleteEntityFrameworkCoreArgs <TIn, TEntity, TCtx> args) { var matchingS = args.InputStream.Observable .CombineWithLatest(args.DbContextStream.Observable, (elt, ctx) => new { Element = elt, DbContext = ctx }, true) .Map(i => { this.ExecutionContext.InvokeInDedicatedThread(i.DbContext, () => { i.DbContext.DeleteWhere <TEntity>(args.Match.ApplyPartialLeft <TIn, TEntity, bool>(i.Element)); i.DbContext.SaveChanges(); }); return(i.Element); }); return(base.CreateUnsortedStream(matchingS)); }
public DeleteEntityFrameworkCoreStreamNode(string name, DeleteEntityFrameworkCoreArgs <TIn, TEntity, TCtx> args) : base(name, args) { }