An Entity Framework model is composed of a conceptual model, a store model and a mapping between them.Within an file (XML-based), the three components are described using CSDL (Conceptual Schema Definition Language), SSDL (Store Schema Definition Language) and respectively MSL (Mapping Specification Language).The means of accomplishing this generally take the data further out of the scope of your own concepts of how your data should be structured in your applications.It requires a solid knowledge of the database schema, table definitions, and stored procedures along with their parameters and results, views, keys, and more so that you can create your data access code.Entity Framework uses the mapping metadata at runtime to translate queries against the conceptual model to store-specific commands.In previous releases the Mapping APIs were not public. The mapping metadata is basically represented by a tree of mapping items (deriving from the Mapping Item base class).The Corporate Customer entity type inherits from the Customer entity type.The conceptual schema also describes relationships between entity types as associations.
However the full spectrum of scenarios where they could prove useful has not been explored yet. In general the tree structure is similar to what the MSL defines, except a few cases where MSL is more compact.This requires an understanding of the database so that you can access data either from the raw tables, from views, or from stored procedures.More often than not, databases are managed by DBAs whose job it is to ensure that the database is available, powerful, efficient, and secure.The next version of Entity Framework introduced in .NET 4.0 (EFv4) included a new type of association where conceptual model also includes foreign key properties to define connections between entities.Julie blogs at thedatafarm.com/blog and is the author of the highly acclaimed Programming Entity Framework (O’Reilly Media). The challenge of bringing data from efficient storage engines such as SQL Server into object-oriented programming models is hardly a new one.