-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V4.0_ERRATA03
-
Fix Version/s: V4.01_WD01
-
Component/s: CSDL XML
-
Labels:None
-
Proposal:
When we introduced Edm.PrimitiveType and Edm.ComplexType, we prohibited the use of them in collection-valued properties and return types because in JSON there is no way to annotate the members of an array of primitive types. Complex types don't have the same issue (since they are internally annotated), but IIRC we made the restriction across both primitive and complex types for consistency (and because we knew we could relax it later).
In ODATA-881 we add support for Edm.Untyped, collections of which would naturally have the same restrictions as Edm.PrimitiveType and Edm.ComplexType (i.e., not be allowed in properties or as return type of function).
Are we still okay with these restrictions? Should we relax these constraints for collections of complex types? For collections of Edm.Untyped that don't contain primitives? For collections of Edm.Primitive that have "heuristically determinable" types (i.e., Boolean, string, or number)?
Or, do we say that collections of primitive, complex, or untyped are modeled as Edm.Untyped (which could be a collection)?