Canonical Query Trees

by Dave on September 17, 2006

in Old Blog

Kind of going off the last post…

So, behind the whole ADO.NET Entities infrastructure they have a standard, declarative model for representing queries, canonical query trees. Sounds crazy-complex, but it’s – at least in concept, I’m sure the implementation was a fun challenge - a simple idea. You can think of it as a query serialization format. The infrastructure has various higher-level representations of these queries.

What’s very, very interesting is the quote from this post on the ADO.NET team blog (where I learned of the above):

At the Object Services layer, you have a choice of expressing queries either via LINQ or via eSQL. At the Map Provider, you need to express queries in terms of eSQL. We may also allow – in a future version – queries to be specified in terms of canonical query trees (CQTs).  

Nice.

Now here’s a right sexy idea… build an expression editor that uses metadata services and spits out CQT. This could be a foundation for user-generated queries (ad-hoc reports, searches) and nice tool for business rule conditions. I like it.

Comments on this entry are closed.

blog comments powered by Disqus

Previous post:

Next post: