Error!
Success!

LINQ Expression Trees on the Compact Framework

0
kicks

LINQ Expression Trees on the Compact Framework  (Unpublished)

A week ago, I was writing about the ability to use Mono’s System.Core to run C# 3 and LINQ applications on .net 2. A few months ago, I was writing about the new LINQ provider that friends at db4o released. This LINQ provider uses LINQ expression trees to optimize LINQ queries, turning them into db4o’s native query language. Today I’m going to write about a cute new hack from our friends at db4o. If the 3.5 version of the Compact Framework comes with a System.Core, and a LINQ to objects implementation, it doesn’t contain the namespace System.Linq.Expressions, which is used by all optimized LINQ providers. What those fine folks did, was simply to take Mono’s implementation of this namespace. There was one issue with that approach. Expression Trees can be compiled at runtime, and that uses System.Reflection.Emit, that the Compact Framework doesn’t have. A nice thing is that folks at Mainsoft contributed to Mono’s System.Core an expression interpreter, which allows you to use the full LINQ expression trees without using System.Reflection.Emit. They sent me the patches they have for the expression interp


Kicked By:
Drop Kicked By: