1. A method for providing customizable data objects comprising: storing an abstract definition of an entity in metadata, the definition including a set of properties of the entity; generating an entity view class based on the set of properties of the entity and including at least one property of the entity in the entity view class; and when programming against the entity view class, allowing only those properties included in the entity view class to be seen or modified.