/// <summary> /// Resolves the specified Edm Data Type from the payload model. /// </summary> /// <param name="fullTypeName">The full name of the type to resolve.</param> /// <returns>The EdmDataType that corresponds to the type name.</returns> private IEdmTypeReference ResolvePropertyEdmDataType(string fullTypeName) { if (string.IsNullOrEmpty(fullTypeName)) { return(null); } bool propertyIsCollection = false; if (fullTypeName.StartsWith(EdmConstants.CollectionTypeQualifier)) { fullTypeName = EntityModelUtils.GetCollectionItemTypeName(fullTypeName); propertyIsCollection = true; } string namespaceName; string typeName; DataTypeUtils.ParseFullTypeName(fullTypeName, out typeName, out namespaceName); IEdmTypeReference edmDataType = null; var complexType = this.testDescriptor.PayloadEdmModel.FindType(fullTypeName); if (complexType != null) { edmDataType = complexType.ToTypeReference(); } else { var primitiveType = EdmCoreModel.Instance.GetPrimitive(EdmCoreModel.Instance.GetPrimitiveTypeKind(typeName), true); ExceptionUtilities.CheckObjectNotNull(primitiveType, "Failed to resolve type: " + fullTypeName); edmDataType = primitiveType; } if (propertyIsCollection) { edmDataType = EdmCoreModel.GetCollection(edmDataType); } return(edmDataType); }