Patent ID: 7860823
Filing Date: 2010-12-28
Classification: G06F

Abstract:
1. A computer storage medium having stored thereon a data structure that represents an application program interface that types implement to signal that they support deep embedding of queries via expression trees, the application programming interface comprising: (A) a generic interface that enables the creation of an expression tree representation to allow the implementation of standard query operator extension methods, (B) wherein the generic interface inherits the IEnumerable or IEnumerable<T> interface such that each standard query operator extension method implemented by the IEnumerable or IEnumberabe<T> interface is implemented by the generic interface, (C) wherein the generic interface implements the standard query operator extension methods by taking an expression tree as an argument rather than a delegate, (D) wherein, upon executing the standard query operator extension methods, the results of the standard query operator extension methods are represented in the expression tree, (E) wherein the expression tree provides a generic representation of the results of the standard query operator extension methods such that the standard query operator extension methods can be executed against any one of a plurality of different types of data stores and are not specific to a particular type of data store, and (F) wherein an object created using the generic interface is a Queryable object, and wherein the generic interface further implements an operator that converts an IEnumerable object into a Queryable object.