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 (Entity Data Model).

association set

A logical container for instances of associations of the same type.

For more information, see AssociationSet Element (CSDL) and association set (Entity Data Model).

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 (Entity Data Model).

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 (Entity Data Model).

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 (Entity Data Model).

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.

For more information, see Saving Changes and Managing Concurrency.

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 (Entity Data Model).

eager loading

The process of loading a specific set of related objects along with the objects that were explicitly requested in the query. For more information, see Loading Related Objects.

.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 Data Model).

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 (Entity Data Model).

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).

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 Data Model).

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 (Entity Data Model).

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. For more information, see Loading Related Objects.

foreign key association

An association between entities that is managed through foreign key properties. For more information, see Defining and Managing Relationships.

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. For more information, see Defining and Managing Relationships.

independent association

An association between entities that is represented and tracked by an independent object. For more information, see Defining and Managing Relationships.

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 (Entity Data Model).

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. For more information, see Loading Related Objects.

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 (Entity Data Model).

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 or an EntityReference, depending on the multiplicity at the other end of the association.

For more information, see NavigationProperty Element (CSDL) and navigation property (Entity Data Model).

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.

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 context is represented by an instance of the ObjectContext class.

For more information, see Identity Resolution, State Management, and Change Tracking.

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 (Entity Data Model).

relationship

A logical connection between entities.

For more information, see Defining and Managing Relationships and Association Element (CSDL).

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 (Entity Data Model).

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.

For more information, see How to: Define a Model with Table-per-Hierarchy Inheritance.

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.

For more information, see How to: Define a Model with Table-per-Type Inheritance.

See Also

Concepts

ADO.NET Entity Framework
Entity Framework Overview
Entity Framework Resources

Other Resources

Getting Started (Entity Framework)