private Expression BindUpdate(IIdentifiableSet upd, Expression instance, LambdaExpression updateCheck, LambdaExpression resultSelector) { var entity = this.mapper.Mapping.GetEntity(instance.Type, this.repoType);//, upd.TableId); return this.Visit(this.mapper.GetUpdateExpression(entity, instance, updateCheck, resultSelector)); }
private Expression BindDelete(IIdentifiableSet upd, Expression instance, LambdaExpression deleteCheck) { var entity = this.mapper.Mapping.GetEntity(instance != null ? instance.Type : deleteCheck.Parameters[0].Type, this.repoType);//, upd.TableId); return this.Visit(this.mapper.GetDeleteExpression(entity, instance, deleteCheck)); }
private Expression BindInsert(IIdentifiableSet upd, Expression instance, LambdaExpression selector) { var entity = this.mapper.Mapping.GetEntity(instance.Type, this.repoType); return this.Visit(this.mapper.GetInsertExpression(entity, instance, selector)); }
private Expression BindBatch(IIdentifiableSet upd, Expression instances, LambdaExpression operation, Expression batchSize, Expression stream) { var save = this.batchUpd; this.batchUpd = upd; var op = (LambdaExpression)this.Visit(operation); this.batchUpd = save; var items = this.Visit(instances); var size = this.Visit(batchSize); var str = this.Visit(stream); return new BatchExpression(items, op, size, str); }