Entity Data Model: Primitive Data Types

The Entity Data Model (EDM) supports a set of abstract primitive data types (such as String, Boolean, Int32, and so on) that are used to define properties in a conceptual model. These primitive data types are proxies for actual primitive data types that are supported in the storage or hosting environment, such as a SQL Server database or the common language runtime (CLR). The EDM does not define the semantics of operations or conversions over primitive data types; these semantics are defined by the storage or hosting environment. Typically, primitive data types in the EDM are mapped to corresponding primitive data types in the storage or hosting environment. For information about how the Entity Framework maps primitive types in the EDM to SQL Server data types, see SqlClient for Entity FrameworkTypes.

Note

The EDM does not support collections of primitive data types.

For information about structured data types in the EDM, see entity type and complex type.

Primitive Data Types Supported in the Entity Data Model

The table below lists the primitive data types supported by the EDM. The table also lists the facets that can be applied to each primitive data type.

Primitive Data Type Description Applicable Facets
Binary Contains binary data. MaxLength, FixedLength, Nullable, Default
Boolean Contains the value true or false. Nullable, Default
Byte Contains an unsigned 8-bit integer value. Precision, Nullable, Default
DateTime Represents a date and time. Precision, Nullable, Default
DateTimeOffset Contains a date and time as an offset in minutes from GMT. Precision, Nullable, Default
Decimal Contains a numeric value with fixed precision and scale. Precision, Nullable, Default
Double Contains a floating point number with 15 digit precision. Precision, Nullable, Default
Float Contains a floating point number with seven digit precision. Precision, Nullable, Default
Guid Contains a 16-byte unique identifier. Precision, Nullable, Default
Int16 Contains a signed 16-bit integer value. Precision, Nullable, Default
Int32 Contains a signed 32-bit integer value. Precision, Nullable, Default
Int64 Contains a signed 64-bit integer value. Precision, Nullable, Default
SByte Contains a signed 8-bit integer value. Precision, Nullable, Default
String Contains character data. Unicode, FixedLength, MaxLength, Collation, Precision, Nullable, Default
Time Contains a time of day. Precision, Nullable, Default

See also