Common Schema Definition Language (CSDL)

Eintrag zuletzt aktualisiert am: 29.07.2013

Common Schema Definition Language (CSDL) ist das Metadatenformat beim Open Data Protocol.

Durch den Operator $metadata erhält der Nutzer des OData-Feeds ein Metadatendokument. Da es sich bei OData um ein REST-basiertes Protokoll handelt, kommt hier nicht die Webservice Desciption Language (WSDL) zum Einsatz. Bei REST gibt es kein Standardmetadatenformat; Microsoft hat aber erkannt, dass OData ohne Metadaten sehr umständlich wäre. Schließlich geht es darum, mit OData auf beliebige Datenstruktueren zugreifen zu können. Diese Strukturen händisch auf dem Client nachzubauen, kann sehr viel Arbeit sein, wenn es um größere Datenbankschemata geht. Microsoft hat in solchen Fällen in der Vergangenheit das Rad oft neu erfunden. Dieses Mal hat man aber klugerweise auf ein bestehendes Metadatenformat aus dem eigenen Hause zurückgegriffen: das Entity Data Model (EDM), das im ADO.NET Entity Framework verwendet wird. Dabei muss man sagen, dass dies auch nahe lag, denn die WCF Data Services und das ADO.NET Entity Framework haben gemeinsame Wurzeln im gleichen Produktteam bei Microsoft und in .NET 3.5 Service Pack 1.

Die Sektion EDMX:DataServices im Odata-Metadatenformat entspricht weitestgehend dem EDMX:ConceptualModel beim Entity Framework. Namentlich gibt es nur einen kleinen Unterschied: Odata spricht von Common Schema Definition Language (CSDL) während im EDMX die gleiche Abkürzung für Conceptual Schema Definition Language steht.