CSDL, SSDL, and MSL Specifications

Conceptual schema definition language (CSDL), store schema definition language (SSDL), and mapping specification language (MSL) are XML-based languages that respectively describe the conceptual model, storage model, and the mapping between these models. In an Entity Framework application, model and mapping metadata are loaded from three files with extensions .csdl, .ssdl, and .msl. The metadata contained in the .csdl and .ssdl files is loaded into instances of the System.Data.Metadata.Edm.EdmItemCollection and System.Data.Metadata.Edm.StoreItemCollection classes, which are accessible by using methods in the System.Data.Metadata.Edm.MetadataWorkspace class. Mapping information is not publicly accessible. The Entity Framework uses the metadata in these types to translate queries against the conceptual model to data source-specific commands.


The Entity Data Model Designer (Entity Designer) stores model and mapping information in an .edmx file at design time. At build time the Entity Designer uses the information in an .edmx file to create the .csdl, .ssdl, and .msl files that are needed by the Entity Framework at runtime. For more information, see .edmx File Overview.

The XML schemas for the .csdl, .ssdl, .msl, and .edmx files can be found in the XML\Schemas folder of your Visual Studio installation directory (typically C:\Program Files\Microsoft Visual Studio 10.0\Xml\Schemas). The schemas for applications that target the .NET Framework version 4 are defined in the following files:

  • .csdl: System.Data.Resources.CSDLSchema_2.xsd

  • .ssdl: System.Data.Resources.SSDLSchema_2.xsd

  • .msl: System.Data.Resources.CSMSL_2.xsd

  • .edmx: Microsoft.Data.Entity.Design.Edmx_2.xsd

The schemas for applications that target the .NET Framework version 3.5 SP1 are defined in the following files:

  • .csdl: System.Data.Resources.CSDLSchema_1.xsd

  • .ssdl: System.Data.Resources.SSDLSchema.xsd

  • .msl: System.Data.Resources.CSMSL_1.xsd

  • .edmx: Microsoft.Data.Entity.Design.Edmx_1.xsd

The topics in this section provide details about CSDL, SSDL, and MSL, and examples that demonstrate how to use these specifications to accomplish specific tasks.

In This Section

CSDL Specification

SSDL Specification

MSL Specification

See Also


Entity Framework Overview

Other Resources

Entity Data Model
ADO.NET Entity Data Model Tools

Build Date: 2011-08-29