MSDN Library

Taxonomy of EDM Types

.NET Framework 3.5

The Entity Data Model (EDM) is a specification for defining the data used by applications. The types provided with installation of the ADO.NET Entity Framework SP1 are used in XML schemas to define entities, properties of entities, and relationships among entities. Developers extend the basic types as needed for applications by deriving entities and relationships from the basic EDM types.


Unlike programmable objects, entities represent data abstractly. Entities are not programmable until they are mapped to metadata that represents storage structures supporting entities and relationships defined in a schema. The build process creates a programmable object model from the conceptual schema. Designing complete schemas for data applications before their implementation as programmable objects makes redundancy or re-engineering less likely.

Properties and Relationships

Together, entities, the properties of entities, and the relationships among entities define data for applications.

In addition to defining basic types, the EDM is used to define the relationships among entities. For more information about relationships, see Entity Data Model Relationships.

EDM Types

The basic types that are used in defining EDM applications are derived from EntityType. The derived entities are customized to suit the design of an application. Entities are used to prototype application objects in conceptual schema definition language (CSDL).

Properties of entities are specified by using the types derived from the abstract SimpleType. A SimpleType contains information such as text, date, unique identifier, or number. These types are common data primitives such as String, DateTime, Guid, or Integer. Primitive types are derived from SimpleType.

Reference types resemble reference types in programming languages; a RefType holds the address of an entity for operations that use the entity.

An AssociationType specifies a relationship. The Association is derived from the abstract RelationshipType. An Association is a relationship between peer entities.

For more information about type specifications, see EDM Specifications.

For more information about designing entities, see Implementing Entities (EDM) and Implementing Associations (EDM).

See Also

Community Additions

© 2015 Microsoft