SSDL, CSDL, and MSL are three parts of the Entity Data Model (EDM) in Entity Framework.
- SSDL (Storage Schema Definition Language): The SSDL defines the physical storage structure of the database, including tables, columns, primary keys, foreign keys, and other database-specific elements. This is used to generate the database schema on the target database server.
- CSDL (Conceptual Schema Definition Language): The CSDL defines the conceptual model, which is the high-level description of the data structure, including entities, relationships, and complex types. This is the model that is used in application code to interact with the data.
- MSL (Mapping Specification Language): The MSL defines the mapping between the conceptual model and the storage model. This mapping information specifies how entities, relationships, and properties in the conceptual model correspond to tables, columns, and keys in the storage model.
Together, these three schemas provide a complete picture of the data model, from the conceptual level to the physical storage level. The EDM is used by Entity Framework to translate between the conceptual model and the database, enabling developers to interact with the database using LINQ-based queries, without having to write SQL directly.