1.1 Glossary

This document uses the following terms:

ADO.NET Entity Framework: A set of technologies that enables developers to create data access applications by programming against the conceptual application model instead of programming directly against a relational storage schema.

alias: A simple identifier that is typically used as a short name for a namespace.

alias qualified name: A qualified name that is used to refer to a structural type, with the exception of a namespace that is replaced by the namespace's alias. For example, if an entity type called "Person" is defined in the "Model.Store" namespace, and if that namespace's alias is "Self", the alias qualified name for the "Person" entity type is "Self.Person" rather than "Model.Store.Person".

annotation: Any custom, application-specific extension that is applied to an instance of a schema definition language through the use of custom attributes and elements that are not a part of that schema definition language.

association: A named independent relationship between two entity type definitions. Associations in the Entity Data Model (EDM) are first-class concepts and are always bidirectional. Indeed, the first-class nature of associations helps distinguish the EDM from the relational model. Every association includes exactly two association ends.

cardinality: The measure of the number of elements in a set.

collection: A grouping of one or more EDM types that are type compatible.

conceptual schema definition language (CSDL): A language that is based on XML and that can be used to define conceptual models that are based on the Entity Data Model (EDM).

conceptual schema definition language (CSDL) document: A document that contains a conceptual model that is described by using the CSDL code.

declared property: A property that is statically declared by a Property element as part of the definition of a structural type. For example, in the context of an EntityType, a declared property includes all properties of an EntityType that are represented by the Property child elements of the EntityType element that defines the EntityType.

derived type: A type that is derived from the BaseType. Only ComplexType and EntityType can define a BaseType.

dynamic property: A designation for an instance of an OpenEntityType that includes additional nullable properties (of a scalar type or ComplexType) beyond its declared properties. The set of additional properties, and the type of each, may vary between instances of the same OpenEntityType. Such additional properties are referred to as dynamic properties and do not have a representation in a CSDL document.

EDM type: A categorization that includes the following types: association, ComplexType, EDMSimpleType, EntityType, and enumeration.

entity: An instance of an EntityType element that has a unique identity and an independent existence. An entity is an operational unit of consistency.

Entity Data Model (EDM): A set of concepts that describes the structure of data, regardless of its stored form.

enumeration type: A type that represents a custom enumeration that is declared by using the EnumType element.

facet: An element that provides information that specializes the usage of a type. For example, the precision (that is, accuracy) facet can be used to define the precision of a DateTime property.

identifier: A string value that is used to uniquely identify a component of the CSDL and that is of type SimpleIdentifier.

in scope: A designation that is applied to an XML construct that is visible or can be referenced, assuming that all other applicable rules are satisfied. Types that are in scope include all scalar types and structural types that are defined in namespaces that are in scope. Namespaces that are in scope include the namespace of the current schema and other namespaces that are referenced in the current schema by using the Using element.

namespace: A name that is defined on the schema and that is subsequently used to prefix identifiers to form the namespace qualified name of a structural type.

namespace qualified name: A qualified name that refers to a structural type by using the name of the namespace, followed by a period, followed by the name of the structural type.

nominal type: A designation that applies to the types that can be referenced. Nominal types include all primitive types and named EDM types. Nominal types are frequently used inline with collection in the following format: collection(nominal_type).

scalar type: A designation that applies to all EDMSimpleType and enumeration types. Scalar types do not include structural types.

schema: A container that defines a namespace that describes the scope of EDM types. All EDM types are contained within some namespace.

schema level named element: An element that is a child element of the schema and contains a Name attribute that must have a unique value.

value term: A term with a single property in EDM.

vocabulary: A schema that contains definitions of value terms and entity type terms.

XML namespace: A collection of names that is used to identify elements, types, and attributes in XML documents identified in a URI reference [RFC3986]. A combination of XML namespace and local name allows XML documents to use elements, types, and attributes that have the same names but come from different sources. For more information, see [XMLNS-2ED].

MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.