Hello,
I was wondering about your take on adding .Net 4.0 support on Rhino
ETL.
I was writing several helper classes on top of RhinoETL for my own
purpose, just to make it a lot more boo-like (less C# noise), and one
of the thing I wanted was to add C# dynamic capability on Row objects
like its boo counterpart.
To do that I had to modify RhinoETL source-code, and add ExpandoObject
implementation on QuackingDictionary class.
I would prefer if I don't maintain a non-vanilla fork of RhinoETL if i
can help it, so I'm curious if I can push this change back to the
trunk, noting that it will lock RhinoETL on .Net4.0.
Dynamic isnt actually necessary for what I wanna do, it just reduces
row["column"] kind of noise. So let me know whether you're happy to
patch this class to be dynamic-happy, or if you prefer to leave it 3.5
friendly.
PS, if you're curious, the helper class I was talking about is to
enable me to write my ETL code like following (don't worry about the
actual logic.. it's purely random):
RegisterAll(
SourceDb.Read("select blah, bluh from foo"),
Rows.Each(row=> row.Price = row.UnitPrice * row.Quantity),
Rows.Map(row=> new{CityId = row.City.Id, FullName = row.FirstName + "
" + row.LastName}),
Rows.Filter(row=> row.Type == "Employee"),
Rows.Aggregate((agg, row)=> agg+= row.Tax)
);
Or some join, with an example that makes more sense:
RegisterAll(
Join.Left(
Compose(
SourceDb.Read("select * from Order"),
Rows.Map(row=> new {row.OrderId, Spending=
row.UnitPrice *
row.Qty}),
Rows.Each(row => log.Write("Order: {0} at {1}",
row.OrderId,
row.Spending)
)).Right(
SourceDb.Read("select Percent, MinSpending from
discount")
).On((order, discount)=> order.Spending > order.minSpending)
.Select((order, discount)=> new {order.OrderId, DiscountAmount=
order.Spending * discount.Percent),
TargetDb.Output("insert into OrderDiscount values(@OrderId,
@DiscountAmount):)
);
Cheers guys
--
You received this message because you are subscribed to the Google Groups
"Rhino Tools Dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rhino-tools-dev?hl=en.