// TODO: Rename this converter; it converts from higher-level test annotations to the serializable // annotations in CSDL. /// <summary> /// Performs the conversion. /// </summary> /// <param name="model">Model to perform conversion on.</param> /// <returns>A clone of the <paramref name="model"/> with the converted annotations.</returns> public EntityModelSchema ConvertToProductAnnotations(EntityModelSchema model) { // we have to clone the model here since we will modify it by adding the converted annotations; // we do this in all cases even if there are no annotations to convert; if this becomes a performance problem // we can change this going forward (to do the clone on-demand). model = model.Clone(); // TODO: support for MimeTypeAnnotation on service operations and primitive properties foreach (var entityType in model.EntityTypes) { if (entityType.HasStream()) { var attribute = new XAttribute(ODataConstants.DataServicesMetadataNamespace.GetName(ODataConstants.HasStreamAttributeName), true); AddAnnotationIfDoesntExist(entityType, new AttributeAnnotation(attribute)); } } return(model); }