Entity Framework Terminology

This topic defines terms frequently referenced in Entity Framework documentation. Links are provided to relevant topics where additional information is available.

Term Definition
association The definition of a relationship between entity types.

For more information, see Association Element (CSDL) and association type.
association set A logical container for instances of associations of the same type.

For more information, see AssociationSet Element (CSDL) and association set.
Code First Starting with the Entity Framework 4.1 you can create a model programmatically using Code First development. There are two different scenarios for Code First development. In both cases, the developer defines a model by coding .NET Framework class definitions, and then optionally specifies additional mapping or configuration by using Data Annotations or the fluent API.

Note, that Code First development is part of the Entity Framework 5.0. The Entity Framework 5.0 isn't part of .NET Framework, but is built on .NET Framework 4.5. The Entity Framework 5.0 is available as the Entity Framework NuGet package. For more information, see Past Releases of Entity Framework.
command tree A common, programmatic representation of all Entity Framework queries that are composed of one or more expressions.

For more information, see Entity Framework Overview.
complex type A .NET Framework class that represents a complex property as defined in the conceptual model. Complex types enable scalar properties to be organized within entities. Complex objects are instances of complex types. For more information, see ComplexType Element (CSDL) and complex type.
ComplexType The specification for a data type that represents a non-scalar property of an entity type that does not have a key property.

For more information, see ComplexType Element (CSDL) and complex type.
conceptual model An abstract specification for the entity types, complex types, associations, entity containers, entity sets, and association sets in the domain of an application in the Entity Framework. The conceptual model is defined in CSDL in the .csdl file.

For more information, see Modeling and Mapping.
.csdl file An XML file that contains the conceptual model, expressed in CSDL.
conceptual schema definition language (CSDL) An XML-based language that is used to define the entity types, associations, entity containers, entity sets, and association sets of a conceptual model.

For more information, see CSDL Specification.
container A logical grouping of entity and association sets.

For more information, see EntityContainer Element (CSDL) and entity container.
concurrency A process that allows multiple users to access and change shared data at the same time. By default, the Entity Framework implements an optimistic concurrency model.
direction Refers to the asymmetrical nature of some associations. Direction is specified with FromRole and ToRole attributes of a NavigationProperty or ReferentialConstraint element in a schema.

For more information, see NavigationProperty Element (CSDL) and navigation property.
eager loading The process of loading a specific set of related objects along with the objects that were explicitly requested in the query.
.edmx file An XML file that contains the conceptual model (in CSDL), the storage model (in SSDL), and the mappings between them (in MSL). The .edmx file is created by the Entity Data Model Tools. For more information, see .edmx File Overview.
end A participating entity in an association.

For more information, see End Element (CSDL) and association end.
entity A concept in the domain of an application from which a data type is defined.

For more information, see EntityType Element (CSDL) and entity type.
EntityClient A storage-independent ADO.NET data provider that contains classes such as EntityConnection, EntityCommand, and EntityDataReader. Works with Entity SQL and connects to storage specific ADO.NET data providers, such as SqlClient.

For more information, see EntityClient Provider for the Entity Framework.
entity container Specifies entity sets and association sets that will be implemented in a specified namespace.

For more information, see EntityContainer Element (CSDL) and entity container.
Entity Data Model (EDM) A set of concepts that describe the structure of data, as entities and relationships, regardless of its stored form.

For more information, see Entity Data Model.
Entity Framework A set of technologies that supports development of data-oriented software applications by enabling developers to work with conceptual models that are mapped to logical schemas in data sources.

For more information, see Entity Framework Overview.
entity set A logical container for entities of a given type and its subtypes. Entity sets are mapped to tables in a database.

For more information, see EntitySet Element (CSDL) and entity set.
Entity SQL A storage-independent dialect of SQL that works directly with conceptual entity schemas and that supports conceptual model concepts such as inheritance and relationships.

For more information, see Entity SQL Language.
entity type A .NET Framework class that represents an entity as it is defined in the conceptual model. Entity types may have scalar, complex, and navigation properties. Objects are instances of entity types. For more information, see Working with Objects.
EntityType The specification for a data type that includes a key and a named set of properties and represents a top-level item in a conceptual model or storage model.

For more information, see EntityType Element (CSDL) and entity type.
explicit loading When objects are returned by a query, related objects are not loaded at the same time. By default, they are not loaded until explicitly requested using the Load method on a navigation property.
foreign key association An association between entities that is managed through foreign key properties.
identifying relationship A relationship where the primary key of the principal entity is part of the primary key of the dependent entity. In this kind of relationship, the dependent entity cannot exist without the principal entity.
independent association An association between entities that is represented and tracked by an independent object.
key The attribute of an entity type that specifies which property or set of properties is used to identify unique instances of the entity type. Represented in the object layer by the EntityKey class.

For more information, see Key Element (CSDL) and entity key.
lazy loading When objects are returned by a query, related objects are not loaded at the same time. Instead they are loaded automatically when the navigation property is accessed.
LINQ to Entities A query syntax that defines a set of query operators that allow traversal, filter, and projection operations to be expressed in a direct, declarative way in Visual C# and Visual Basic.

For more information, see LINQ to Entities.
mapping A specification of the correspondences between items in a conceptual model and items in a storage model.

For more information, see MSL Specification.
.msl file An XML file that contains the mapping between the conceptual model and the storage model, expressed in MSL.
mapping specification language (MSL) An XML-based language that is used to map items defined in a conceptual model to items in a storage model.

For more information, see MSL Specification.
modification functions Stored procedures that are used to insert, update, and delete data that is in the data source. These functions are used in place of Entity Framework generated commands. Modification functions are defined by the Function element in the storage model. The ModificationFunctionMapping element maps these modification functions to insert, update, and delete operations against entities that are defined in the conceptual model.
multiplicity The number of entities that can exist on each side of a relationship, as defined by an association. Also known as cardinality.

For more information, see End Element (CSDL) and association end.
multiple entity sets per type The ability for an entity type to be defined in more than one entity set.

For more information, see EntitySet Element (CSDL) and How to: Define a Model with Multiple Entity Sets per Type.
navigation property A property of an entity type that represents a relationship to another entity type, as defined by an association. Navigation properties are used to return related objects as an EntityCollection<TEntity> or an EntityReference<TEntity>, depending on the multiplicity at the other end of the association.

For more information, see NavigationProperty Element (CSDL) and navigation property.
query path A string representation of a path that specifies which related objects to return when an object query is executed. A query path is defined by calling the Include method on an ObjectQuery<T>.

For more information, see Loading Related Objects.
object context Represents the entity container defined in the conceptual model. It contains a connection to the underlying data source and provides services such as change tracking and identity resolution. An object cont ext is represented by an instance of the ObjectContext or DbContext class.

DbContext is part of Entity Framework 5.0. The Entity Framework 5.0 isn't part of .NET Framework, but is built on .NET Framework 4.5. The Entity Framework 5.0 is available as the Entity Framework NuGet package. For more information, see Past Releases of Entity Framework.
object layer The entity types and object context definitions that are used by the Entity Framework.
object query A query executed within an object context against a conceptual model that returns data as objects.

For more information, see Object Queries.
object-relational mapping A technique for transforming data from a relational database into data types that can be used in object-oriented software applications.

The Entity Framework provides object-relational mapping services by mapping relational data, as defined in the storage model, to data types, as defined in the conceptual model.

For more information, see Modeling and Mapping.
Object Services Services provided by the Entity Framework that enable application code to operate on entities like .NET Framework objects.
persistence-ignorant object An object that does not contain any logic that is related to data storage. Also known as a POCO entity.
POCO Plain Old CLR Object. An object that does not inherit from another class or implement an interface.
POCO entity An entity in the Entity Framework that does not inherit from EntityObject or ComplexObject and does not implement the Entity Framework interfaces. Frequently, POCO entities are existing domain objects that you use in an Entity Framework application. These entities support persistence ignorance. For more information, see Working with POCO Entities.
proxy object An object that derives from a POCO class and is generated by the Entity Framework to support change tracking and lazy loading. For more information, see Requirements for Creating POCO Proxies.
referential constraint A constraint that is defined in a conceptual model that indicates that an entity has a dependent relationship to another entity. This constraint means that an instance of a dependent entity cannot exist without a corresponding instance of the principle entity

For more information, see ReferentialConstraint Element (CSDL) and referential integrity constraint.
relationship A logical connection between entities.
role The name given to each End of an association to clarify the semantics of the relationship.

For more information, see End Element (CSDL) and association end.
scalar property A property of an entity that maps to a single field in the storage model.
self-tracking entity An entity built from a Text Template Transformation Toolkit (T4) that has the ability to record changes to scalar, complex, and navigation properties.
simple type A primitive type that is used for defining properties in the conceptual model.

For more information, see Conceptual Model Types (CSDL) and Entity Data Model: Primitive Data Types.
split entity An entity type that is mapped to two separate types in the storage model.

For more information, see How to: Define a Model with a Single Entity Mapped to Two Tables.
storage model A definition for the logical model of data in a supported data source, such as a relational database. The storage model is defined in SSDL in the .ssdl file.

For more information, see Modeling and Mapping and SSDL Specification.
.ssdl file An XML file that contains the storage model, expressed in SSDL.
store schema definition language (SSDL) An XML-based language that is used to define the entity types, associations, entity containers, entity sets, and association sets of a storage model that frequently corresponds to a database schema.

For more information, see SSDL Specification.
table-per-hierarchy A method of modeling a type hierarchy in a database that includes the attributes of all the types in the hierarchy in one table.
table-per-type A method of modeling a type hierarchy in a database that uses multiple tables with one-to-one relationships to model the various types.

See also