9 Appendix E: Differences Between CSDL 2.0 and CSDL 3.0
CSDL 3.0 is a superset of CSDL 2.0.
This section summarizes the differences between CSDL 2.0 and CSDL 3.0.
CSDL 2.0 is restricted in the following ways:
Property cannot define a Type attribute with a value of "Collection".
Property cannot use EDMSimpleType value of "Stream".
Property cannot use the following EDMSimpleType values:
"Geography"
"GeographyPoint"
"GeographyLineString"
"GeographyPolygon"
"GeographyCollection"
"GeographyMultiPoint"
"GeographyMultiLineString"
"GeographyMultiPolygon"
"Geometry"
"GeometryPoint"
"GeometryLineString"
"GeometryPolygon"
"GeometryCollection"
"GeometryMultiPoint"
"GeometryMultiLineString"
"GeometryMultiPolygon"
FunctionImport cannot define an IsSideEffecting attribute.
FunctionImport cannot define an IsComposable attribute.
FunctionImport cannot define an IsBindable attribute.
FunctionImport cannot define a ReturnType as a child element.
The following elements cannot appear:
Annotations
Null
String
Int
Float
Decimal
Bool
DateTime
DateTimeOffset
Guid
Binary
Record
Collection
LabeledElement
Path
Apply
If
IsType
AssertType
EnumType
EnumType Member
TypeAnnotation
ValueAnnotation
NavigationProperty cannot have a ContainsTarget attribute.