- Entity F - Nested Entity Types
- Entity F - Multiple DbContext
- Entity F - Code First Migration
- Entity Framework - Seed Database
- Entity Framework - Fluent API
- Entity Framework - Data Annotations
- Entity Framework - First Example
- Entity F - Code First Approach
- Entity Framework - Colored Entities
- Entity Framework - Track Changes
- Entity Framework - Validation
- Entity Framework - Explicit Loading
- Entity Framework - Lazy Loading
- Entity Framework - Eager Loading
- Entity Framework - Migration
- Entity Framework - Inheritance
- Entity Framework - Spatial Data Type
- Entity F - Command Interception
- Entity F - Command Logging
- Entity F - Projection Queries
- Entity Framework - Persistence
- Entity F - Asynchronous Query
- Entity Framework - Enum Support
- Entity Framework - Native SQL
- Entity F - Table-Valued Function
- Entity F - Disconnected Entities
- Entity F - Stored Procedures
- Entity Framework - Index
- Entity Framework - Views
- Entity Framework - Transaction
- Entity Framework - Concurrency
- Entity F - Database Operations
- Entity Framework - DEV Approaches
- Entity F - Database First Approach
- Entity F - Model First Approach
- Entity F - Code First Approach
- Entity Framework - Lifecycle
- Entity Framework - Relationships
- Entity Framework - Types
- Entity Framework - DbContext
- Entity Framework - Data Model
- Entity Framework - Database Setup
- Entity F - Environment Setup
- Entity Framework - Architecture
- Entity Framework - Overview
- Entity Framework - Home
Entity Framework Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Entity Framework - Data Model
The Entity Data Model (EDM) is an extended version of the Entity-Relationship model which specifies the conceptual model of the data using various modelpng technique. It also refers to a set of concepts that describe data structure, regardless of its stored form.
EDM supports a set of primitive data types that define properties in a conceptual model. We need to consider 3 core parts which form the basis for Entity Framework and collectively it is known as Entity Data Model. Following are the three core parts of EDM.
The Storage Schema Model
The Conceptual Model
The Mapping Model
The Storage Schema Model
The Storage Model also called as Storage Schema Definition Layer (SSDL) represents the schematic representation of the backend data store.
The Conceptual Model
The Conceptual Model also called as Conceptual Schema Definition Layer (CSDL) is the real entity model, against which we write our queries.
The Mapping Model
Mapping Layer is just a mapping between the Conceptual model and the Storage model.
The logical schema and its mapping with the physical schema is represented as an EDM.
Visual Studio also provides Entity Designer, for visual creation of the EDM and the mapping specification.
The output of the tool is the XML file (*.edmx) specifying the schema and the mapping.
Edmx file contains Entity Framework metadata artifacts.
Schema Definition Language
ADO.NET Entity Framework uses an XML based Data Definition Language called Schema Definition Language (SDL) to define the EDM Schema.
The SDL defines the Simple Types similar to other primitive types, including String, Int32, Double, Decimal, and DateTime, among others.
An Enumeration, which defines a map of primitive values and names, is also considered a simple type.
Enumerations are supported from framework version 5.0 onwards only.
Complex Types are created from an aggregation of other types. A collection of properties of these types define an Entity Type.
The data model primarily has three key concepts to describe data structure −
Entity type
Association type
Property
Entity Type
The entity type is the fundamental building block for describing the structure of data in EDM.
In a conceptual model, entity types are constructed from properties and describe the structure of top-level concepts, such as a Students and Enrollments in a business apppcation.
An entity represents a specific object such as a specific Student or Enrollment.
Each entity must have a unique entity key within an entity set. An entity set is a collection of instances of a specific entity type. Entity sets (and association sets) are logically grouped in an entity container.
Inheritance is supported with entity types, that is, one entity type can be derived from another.
Association Type
It is another fundamental building block for describing relationships in EDM. In a conceptual model, an association represents a relationship between two entity types such as Student and Enrollment.
Every association has two association ends that specify the entity types involved in the association.
Each association end also specifies an association end multippcity that indicates the number of entities that can be at that end of the association.
An association end multippcity can have a value of one (1), zero or one (0..1), or many (*).
Entities at one end of an association can be accessed through navigation properties, or through foreign keys if they are exposed on an entity type.
Property
Entity types contain properties that define their structure and characteristics. For example, a Student entity type may have properties such as Student Id, Name etc.
A property can contain primitive data (such as a string, an integer, or a Boolean value), or structured data (such as a complex type).
Advertisements