1. A method, implemented within a computer system that includes one or more processors and memory storing instructions which, when executed by the one or more processors implement the method, for creating a data provider that virtualizes data access to an object so that a subset of a plurality of properties of the object are accessible without constructing the entire object, the method comprising: an act of a computer system that includes one or more processors receiving a data construction statement that describes at least a portion of a syntax tree of an object having a plurality of properties, wherein the value of at least one of the plurality of properties is determinable by execution of a query expression, and wherein the data construction statement includes: an indication of a type of object that the data construction statement represents a construction of; one or more property identifiers, wherein each property identifier identifies a property of the object; and one or more mappings, wherein each mapping maps a property identifier to a corresponding query expression, and wherein the corresponding query expression indicates how to compute a value for the property of the object identified by the corresponding property identifier; and an act of the computer system creating a data provider in response to receiving the data construction statement, wherein the data provider virtualizes data access to the object and facilitates lazy evaluation of queries on the object by creating a partial construction of the object based on the data construction statement, wherein the partial construction of the object provides access to values of one or more properties of the object by executing one or more query expressions corresponding to the one or more properties of the object without having to evaluate the entire data construction statement or fully construct the entire object, and wherein the data provider includes: a reference to the data construction statement, wherein the reference transitively includes references to the type, the property identifiers, and the corresponding mappings of the data construction statement.