This is the LinqIndex project that gives the possibility to add an index to linq to object query.

The following commands are supported:
  • Where for equal (==) and unequal (<,<=,>,>=) comparison.
  • Join
  • GroupJoin

Here is a simple example for a where query with index:

IEnumerable<Customer> customers = Customer.SampleData();
IndexDefinition<Customer> indexPart = customers.CreateIndexKey(c => c.Number);
var result = indexPart.Where(c => c.Number == 100000).ToList();

This project is currently in alpha state, that means it works only for special cases.
For further information and some examples please look at my blog.
http://netmatze.wordpress.com/2012/07/01/linq-index-part1-introduction/
http://netmatze.wordpress.com/2012/08/02/linq-index-part2-using-linqindex/
http://netmatze.wordpress.com/2012/09/13/linq-index-part3-speeding-up-a-linq-query/

Last edited Nov 7, 2012 at 11:15 AM by netmatze, version 10