The first version of the Entity Framework was released a while back ago now with .NET 3.5 SP1.

One of the most glaring holes in the Entity Framework documentation was the lack of a formal document describing the Conceptual Schema Definition Language or CSDL.

The CSDL for those who are wondering is the concrete format the Entity Framework uses for describing the Entity Data Model.

Some of these rules can be inferred from the XSD, which is embedded as a resource in System.Data.Entity.dll, but a lot of the rules are enforced by the Entity Framework itself.

If you are interest in these rules in detail take a look at the formal CSDL specification here.

This document primarily focuses on CSDL 1.1, which is used by Astoria, but for the most part CSDL 1.0 and 1.1 are the same, and the differences are all explicitly spelt out here.

DISCLAIMER: I helped author some of this document. If you have any questions let me know.