I would go with properties instead of ctor args and take advantage of
3.0s instantiators. This way you don't need builder objects.

Register(new InLineJoinOperation
   {
      JoinType = JoinType.Inner
      LeftOperation = ThisOp(),
      LeftColumnsToJoinOn = new[]{"column1"},
      RightOperation = ThisOp(),
      RightColumnsToJoinOn = new[]{"column1"},
      Action = (left, right) => {left}
   });

On Dec 22, 3:29 pm, Gauthier Segay <gauthier.se...@gmail.com> wrote:
> Hi,
>
> I started to use Rhino ETL framework and found useful to be able to
> define operations inline in my processes, what I mean is that I don't
> have to define a class for each typical operation (like join,
> aggregation, filtering, inline sql output, etc.).
>
> I intend to add those inline operation to the framework itself because
> I think it would be useful to other people as well, I started with
> InlineJoinOperation that you can look at here:
>
> https://github.com/smoothdeveloper/rhino-etl/blob/master/Rhino.Etl.Co...
>
> so to do a plain join operation I can now register something like
> this:
>
> var ensureMergerReturnsNewRow = true;
> new InlineJoinOperation(
>         columnsToJoinOn,
>         columnsToJoinOn,
>         JoinType.Inner,
>         (left, row) => { // return join result; },
>         leftoperation,
>         rightoperation,
>         ensureMergerReturnsNewRow
> );
>
> instead of having to define a specific class
>
> Anybody think it's a good thing to have those baked in the framework?
> Do you have any feedback on what is shown in this first class?
>
> The icing on the cake for this would be to have fluent operation
> builder to encapsulate the bulky constructors, for this I'm looking
> for syntax ideas.
>
> Thanks for your feedback

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-...@googlegroups.com.
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to