ADO.NET Entity Framework Overview and First Look
I haven’t really taken a serious look at the Entity Framework yet so here are just a few notes I’ve jotted down to get myself started - nothing ground-breaking I’m afraid! I think my goal here will be to establish terms and a baseline view of what’s provided.
- Microsofts overview
The Entity Data Model
The ADO.NET Entity Framework is an implementation of Microsoft’s Entity Data Model which supports mapping to relational schemas.
An instance of an EntityType has properties which define the entity - for example, a Person entity will have name, birthdate, height etc.) The entity must also specify Key properties which define its uniqueness. Inheritance can be employed to build on an extend previous entities.
Entities can exist within an EntitySet _with one or more of them defined inside an _EntityContainer.
Relationships are defined by an AssociationType which defines the entities in the association, the Roles of each and their Cardinality (one-to-one, one-to-many or many-to-many.) Multiple relationships are contained in RelationshipSets.
The ADO.NET Entity Framework
The ADO.NET Entity Framework allows you to define and program against an Entity Data Model and comprises an EntityClient that exposes a storage schema and a set of ObjectServices that exposes the Entity Data Model as strongly typed Business Objects.
EntityClient Data Provider
An EntityClient Data Provider accepts EntitySQL and adapts it to the underlying storage and therefore provides a common command syntax across many different stores of data
The _C-Space _describes the schema in terms of the Entity Data Model and is typically loaded from an XML file or stream following the Conceptual Schema Definition Language (CSDL.)
The S-Space defines the schema of the relational store - following the Storage Schema Definition Language (SSDL.)
The C-S Map describes the mapping between the conceptual and storage schemas following the Mapping Schema Language (MSL.)
ObjectServices map business objects to the Entity Data Model defined by the CSDL and support querying through EntitySQL and LINQ.Post by: Philip Hendry