The method of claim 6 wherein instantiating further comprises: if the data type is an entity or entity collection, accessing the metadata to determine whether the entity or entity collection has inheritance and, if not, creating a new instance of the entity or entity collection, wherein populating comprises: populating the new instance. 10.