Welcome to

Magenic Technologies Community Blog

Sign in | Join | Help

Aaron's Technology Musings

Who let this guy on the podium?

New i4o Release - Fluent Syntax, IIndexSpecification

Now that my book is largely done, I finally have time to focus on some things that have not received the attention they deserve lately.  Thankfully, Jason Jarett was kind enough to introduce some great new ideas to i4o, which after having mulled over them for far too long, I am releasing into the wild as of this weekend.

Details of the changes are nicely documented on his blog.

The jist of the changes though are to introduce a better way, leveraging lambdas, to specify an index (the new IIndexSpecification<T> interface).  Prior to this release, you either had to use attributes - something you can only really do with code you control, or you had to use strings to specify the property.  IIndexSpecification<T> is a nice seperation of those concerns, so that your classes can truly be not concerned about how they are being indexed (as we have done with the POCO changes from the previous release), while more easily being refactored (i.e. member name change refactoring will now work with indexes).

In addition, performance improvements to reduce the number of lookups using reflection have been introduced as well.

I really owe a huge debt of gratitude to Jason, who took it upon himself to introduce these features and share them with the world.  I am very excited about how this has evolved over the past year and a half.

As for where we go next, now that I am done with the book and have more time to work on open source projects, the next round of changes will (finally) widen the number of query types that can leverage the index, similar to the work Rocky and I did with indexing in CSLA.  Look for that sometime in April/May of this year.

Published Sunday, February 08, 2009 1:57 PM by Anonymous

Filed under:

Comments

# Why Would I Create A Custom LINQ Operator? @ Thursday, February 12, 2009 8:24 PM

Here are three different reasons: For an operation that doesn’t exist. For readability. For performance.

BusinessRx Reading List

# Why Would I Create A Custom LINQ Operator? @ Friday, February 13, 2009 1:22 PM

Here are three different reasons: For an operation that doesn’t exist. For readability. For performance

Community Blogs

# re: New i4o Release - Fluent Syntax, IIndexSpecification @ Saturday, February 14, 2009 7:53 PM

The latest beta 3 release appears not to be available for download. Was it not commited to CodePlex? http://www.codeplex.com/i4o

Bart Czernicki

# re: New i4o Release - Fluent Syntax, IIndexSpecification @ Thursday, February 19, 2009 6:48 AM

The source code is in TFS (instructions for download are on the codeplex site for source, or connect via one of the source code control tools). The binary download is as of Jan 1, which was when we actually completed work on the binary.

Anonymous

New Comments to this post are disabled
Powered by Community Server, by Telligent Systems