├── .gitattributes ├── .github ├── CONTRIBUTION.md ├── ISSUE_TEMPLATE.md ├── ISSUE_TRIAGE.md └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── License.txt ├── README.md ├── SECURITY.md ├── Settings.StyleCop ├── WebApiOData.Performance.msbuild ├── build.cmd ├── build.ps1 ├── configs └── filelist.txt ├── images └── odata.png ├── pipelines ├── azure_pipelines.yml ├── azure_pipelines_nightly.yml └── task-group-policheck-v1.yml ├── samples ├── AspNetCore3xEndpointSample.Web │ ├── AspNetCore3xEndpointSample.Web.csproj │ ├── Controllers │ │ ├── CustomersController.cs │ │ ├── ODataOperationImportController.cs │ │ └── WeatherForecastController.cs │ ├── Models │ │ ├── CustomerOrder.cs │ │ ├── CustomerOrderContext.cs │ │ ├── EdmModelBuilder.cs │ │ └── WeatherForecast.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── AspNetCore3xODataSample.Web │ ├── AspNetCore3xODataSample.Web.csproj │ ├── Controllers │ │ └── CustomersController.cs │ ├── Models │ │ ├── CustomerOrder.cs │ │ ├── CustomerOrderContext.cs │ │ └── EdmModelBuilder.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ ├── appsettings.Development.json │ └── appsettings.json ├── AspNetCoreODataSample.Web │ ├── AspNetCoreODataSample.Web.csproj │ ├── Controllers │ │ ├── CustomersController.cs │ │ ├── MoviesController.cs │ │ └── PeopleController.cs │ ├── Models │ │ ├── CustomerOrderModel.cs │ │ ├── EdmModelBuilder.cs │ │ ├── Genre.cs │ │ ├── Level.cs │ │ ├── Movie.cs │ │ ├── MovieContext.cs │ │ ├── MovieStar.cs │ │ └── Person.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ ├── appsettings.Development.json │ └── appsettings.json └── AspNetODataSample.Web │ ├── App_Start │ └── WebApiConfig.cs │ ├── ApplicationInsights.config │ ├── AspNetODataSample.Web.csproj │ ├── Controllers │ ├── ODataOperationImportController.cs │ └── TodoItemsController.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Models │ ├── DataSource.cs │ ├── EdmModelBuilder.cs │ ├── TodoItem.cs │ └── TodoItemContext.cs │ ├── Properties │ └── AssemblyInfo.cs │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ └── packages.config ├── sln ├── .nuget │ ├── NuGet.Config │ ├── NuGet.exe │ └── packages.config ├── WebApiOData.AspNet.sln ├── WebApiOData.AspNetCore.sln ├── WebApiOData.E2E.AspNet.sln ├── WebApiOData.E2E.AspNetCore.sln ├── WebApiOData.Performance.Official.sln ├── WebApiOData.Performance.sln └── packages │ └── repositories.config ├── src ├── CodeAnalysisDictionary.xml ├── CommonAssemblyInfo.cs ├── GlobalSuppressions.cs ├── Microsoft.AspNet.OData.Shared │ ├── Batch │ │ ├── ODataBatchContent.cs │ │ └── ODataBatchHandler.cs │ ├── Builder │ │ ├── ActionConfiguration.cs │ │ ├── ActionOnDeleteAttribute.cs │ │ ├── AutoExpandAttribute.cs │ │ ├── BindableOperationFinder.cs │ │ ├── BindingParameterConfiguration.cs │ │ ├── BindingPathConfigurationOfTStructuralType.cs │ │ ├── BindingPathHelper.cs │ │ ├── CapabilitiesNavigationType.cs │ │ ├── CapabilitiesVocabularyConstants.cs │ │ ├── CapabilitiesVocabularyExtensionMethods.cs │ │ ├── CollectionPropertyConfiguration.cs │ │ ├── CollectionTypeConfiguration.cs │ │ ├── ComplexPropertyConfiguration.cs │ │ ├── ComplexTypeConfiguration.cs │ │ ├── ComplexTypeConfigurationOfTComplexType.cs │ │ ├── ContainedAttribute.cs │ │ ├── ContainmentPathBuilder.cs │ │ ├── Conventions │ │ │ ├── AbstractEntityTypeDiscoveryConvention.cs │ │ │ ├── AbstractTypeDiscoveryConvention.cs │ │ │ ├── ActionLinkGenerationConvention.cs │ │ │ ├── AssociationSetDiscoveryConvention.cs │ │ │ ├── Attributes │ │ │ │ ├── ActionOnDeleteAttributeConvention.cs │ │ │ │ ├── AttributeConvention.cs │ │ │ │ ├── AttributeEdmPropertyConvention.cs │ │ │ │ ├── AttributeEdmTypeConvention.cs │ │ │ │ ├── AutoExpandAttributeEdmPropertyConvention.cs │ │ │ │ ├── AutoExpandAttributeEdmTypeConvention.cs │ │ │ │ ├── ColumnAttributeEdmPropertyConvention.cs │ │ │ │ ├── ComplexTypeAttributeConvention.cs │ │ │ │ ├── ConcurrencyCheckAttributeEdmPropertyConvention.cs │ │ │ │ ├── CountAttributeEdmPropertyConvention.cs │ │ │ │ ├── CountAttributeEdmTypeConvention.cs │ │ │ │ ├── DataContractAttributeEdmTypeConvention.cs │ │ │ │ ├── DataContractAttributeEnumTypeConvention.cs │ │ │ │ ├── DataMemberAttributeEdmPropertyConvention.cs │ │ │ │ ├── DefaultValueAttributeEdmPropertyConvention.cs │ │ │ │ ├── DerivedTypeConstraintAttributeEdmPropertyConvention.cs │ │ │ │ ├── ExpandAttributeEdmPropertyConvention.cs │ │ │ │ ├── ExpandAttributeEdmTypeConvention.cs │ │ │ │ ├── FilterAttributeEdmPropertyConvention.cs │ │ │ │ ├── FilterAttributeEdmTypeConvention.cs │ │ │ │ ├── ForeignKeyAttributeConvention.cs │ │ │ │ ├── IgnoreDataMemberAttributeEdmPropertyConvention.cs │ │ │ │ ├── KeyAttributeEdmPropertyConvention.cs │ │ │ │ ├── MaxLengthAttributeEdmPropertyConvention.cs │ │ │ │ ├── MediaTypeAttributeConvention.cs │ │ │ │ ├── NonFilterableAttributeEdmPropertyConvention.cs │ │ │ │ ├── NotCountableAttributeEdmPropertyConvention.cs │ │ │ │ ├── NotExpandableAttributeEdmPropertyConvention.cs │ │ │ │ ├── NotFilterableAttributeEdmPropertyConvention.cs │ │ │ │ ├── NotMappedAttributeEdmPropertyConvention.cs │ │ │ │ ├── NotNavigableAttributeEdmPropertyConvention.cs │ │ │ │ ├── NotSortableAttributeEdmPropertyConvention.cs │ │ │ │ ├── OrderByAttributeEdmPropertyConvention.cs │ │ │ │ ├── OrderByAttributeEdmTypeConvention.cs │ │ │ │ ├── PageAttributeEdmPropertyConvention.cs │ │ │ │ ├── PageAttributeEdmTypeConvention.cs │ │ │ │ ├── RequiredAttributeEdmPropertyConvention.cs │ │ │ │ ├── SelectAttributeEdmPropertyConvention.cs │ │ │ │ ├── SelectAttributeEdmTypeConvention.cs │ │ │ │ ├── TimestampAttributeEdmPropertyConvention.cs │ │ │ │ └── UnsortableAttributeEdmPropertyConvention.cs │ │ │ ├── ConventionsHelpers.cs │ │ │ ├── EntityKeyConvention.cs │ │ │ ├── EntityTypeConvention.cs │ │ │ ├── ForeignKeyDiscoveryConvention.cs │ │ │ ├── FunctionLinkGenerationConvention.cs │ │ │ ├── IConvention.cs │ │ │ ├── IEdmPropertyConvention.cs │ │ │ ├── IEdmPropertyConventionOfTPropertyConfiguration.cs │ │ │ ├── IEdmTypeConvention.cs │ │ │ ├── INavigationSourceConvention.cs │ │ │ ├── IOperationConvention.cs │ │ │ ├── NavigationLinksGenerationConvention.cs │ │ │ └── SelfLinksGenerationConvention.cs │ │ ├── DecimalPropertyConfiguration.cs │ │ ├── DerivedTypeConstraintAttribute.cs │ │ ├── DerivedTypeConstraintConfiguration.cs │ │ ├── DynamicPropertyDictionaryAnnotation.cs │ │ ├── EdmModelHelperMethods.cs │ │ ├── EdmTypeBuilder.cs │ │ ├── EdmTypeConfigurationExtensions.cs │ │ ├── EdmTypeMap.cs │ │ ├── EntityCollectionConfigurationOfTEntityType.cs │ │ ├── EntitySetConfiguration.cs │ │ ├── EntitySetConfigurationOfTEntityType.cs │ │ ├── EntityTypeConfiguration.cs │ │ ├── EntityTypeConfigurationOfTEntityType.cs │ │ ├── EnumMemberConfiguration.cs │ │ ├── EnumPropertyConfiguration.cs │ │ ├── EnumTypeConfiguration.cs │ │ ├── EnumTypeConfigurationOfTEnumType.cs │ │ ├── FunctionConfiguration.cs │ │ ├── IEdmTypeConfiguration.cs │ │ ├── IODataInstanceAnnotationContainer.cs │ │ ├── InstanceAnnotationContainerAnnotation.cs │ │ ├── LengthPropertyConfiguration.cs │ │ ├── LinkGenerationHelpers.cs │ │ ├── LowerCamelCaser.cs │ │ ├── MediaTypeAttribute.cs │ │ ├── NameResolverOptions.cs │ │ ├── NavigationLinkBuilder.cs │ │ ├── NavigationPropertyBindingConfiguration.cs │ │ ├── NavigationPropertyBindingOption.cs │ │ ├── NavigationPropertyConfiguration.cs │ │ ├── NavigationPropertyExtensions.cs │ │ ├── NavigationSourceAndAnnotations.cs │ │ ├── NavigationSourceConfiguration.cs │ │ ├── NavigationSourceConfigurationOfTEntityType.cs │ │ ├── NavigationSourceLinkBuilderAnnotation.cs │ │ ├── NavigationSourceUrlAnnotation.cs │ │ ├── NonBindingParameterConfiguration.cs │ │ ├── NullableEnumTypeConfiguration.cs │ │ ├── ODataConventionModelBuilder.cs │ │ ├── ODataConventionModelBuilderExtensions.cs │ │ ├── ODataInstanceAnnotationContainer.cs │ │ ├── ODataModelBuilder.cs │ │ ├── OperationConfiguration.cs │ │ ├── OperationKind.cs │ │ ├── OperationLinkBuilder.cs │ │ ├── OperationTitleAnnotation.cs │ │ ├── ParameterConfiguration.cs │ │ ├── PrecisionPropertyConfiguration.cs │ │ ├── PrimitivePropertyConfiguration.cs │ │ ├── PrimitivePropertyConfigurationExtensions.cs │ │ ├── PrimitiveTypeConfiguration.cs │ │ ├── PropertyConfiguration.cs │ │ ├── PropertyKind.cs │ │ ├── PropertyPairSelectorVisitor.cs │ │ ├── PropertySelectorVisitor.cs │ │ ├── QueryConfiguration.cs │ │ ├── ReturnedEntitySetAnnotation.cs │ │ ├── SelfLinkBuilder.cs │ │ ├── SingletonAttribute.cs │ │ ├── SingletonConfiguration.cs │ │ ├── SingletonConfigurationOfTEntityType.cs │ │ ├── StructuralPropertyConfiguration.cs │ │ ├── StructuralTypeConfiguration.cs │ │ └── StructuralTypeConfigurationOfTStructuralType.cs │ ├── ClrEnumMemberAnnotation.cs │ ├── ClrPropertyInfoAnnotation.cs │ ├── ClrTypeAnnotation.cs │ ├── Common │ │ ├── CollectionExtensions.cs │ │ ├── CommonWebApiResources.Designer.cs │ │ ├── CommonWebApiResources.resx │ │ ├── Error.cs │ │ ├── ListWrapperCollection.cs │ │ ├── ODataPathHelper.cs │ │ ├── PropertyHelper.cs │ │ ├── SRResources.Designer.cs │ │ ├── SRResources.resx │ │ ├── TaskHelpers.cs │ │ └── TaskHelpersExtensions.cs │ ├── CompatibilityOptions.cs │ ├── CompiledPropertyAccessor.cs │ ├── ConcurrencyPropertiesAnnotation.cs │ ├── ContentIdHelpers.cs │ ├── CustomAggregateMethodAnnotation.cs │ ├── DataModificationExceptionType.cs │ ├── DefaultContainerBuilder.cs │ ├── DefaultEdmODataAPIHandler.cs │ ├── DefaultODataAPIHandler.cs │ ├── Delta.cs │ ├── DeltaDeletedEntityObjectOfT.cs │ ├── DeltaOfTStructuralType.cs │ ├── DeltaSetOfT.cs │ ├── ETagMessageHandler.cs │ ├── EdmChangedObjectCollection.cs │ ├── EdmComplexCollectionObject.cs │ ├── EdmComplexObject.cs │ ├── EdmDeltaCollectionType.cs │ ├── EdmDeltaComplexObject.cs │ ├── EdmDeltaDeletedEntityObject.cs │ ├── EdmDeltaDeletedLink.cs │ ├── EdmDeltaEntityKind.cs │ ├── EdmDeltaEntityObject.cs │ ├── EdmDeltaLink.cs │ ├── EdmDeltaType.cs │ ├── EdmEntityCollectionObject.cs │ ├── EdmEntityObject.cs │ ├── EdmEnumObject.cs │ ├── EdmEnumObjectCollection.cs │ ├── EdmModelExtensions.cs │ ├── EdmODataAPIHandler.cs │ ├── EdmODataAPIHandlerFactory.cs │ ├── EdmStructuredObject.cs │ ├── EdmTypeExtensions.cs │ ├── EnableQueryAttribute.cs │ ├── ExpressionHelperMethods.cs │ ├── ExpressionHelpers.cs │ ├── Extensions │ │ ├── ContainerBuilderExtensions.cs │ │ └── ODataPathExtensions.cs │ ├── FastPropertyAccessor.cs │ ├── Formatter │ │ ├── ClrTypeCache.cs │ │ ├── DefaultODataETagHandler.cs │ │ ├── Deserialization │ │ │ ├── CollectionDeserializationHelpers.cs │ │ │ ├── DefaultODataDeserializerProvider.cs │ │ │ ├── DeserializationHelpers.cs │ │ │ ├── EnumDeserializationHelpers.cs │ │ │ ├── ODataActionPayloadDeserializer.cs │ │ │ ├── ODataCollectionDeserializer.cs │ │ │ ├── ODataDeltaResourceSetWrapper.cs │ │ │ ├── ODataDeserializer.cs │ │ │ ├── ODataDeserializerContext.cs │ │ │ ├── ODataDeserializerProvider.cs │ │ │ ├── ODataEdmTypeDeserializer.cs │ │ │ ├── ODataEntityReferenceLinkBase.cs │ │ │ ├── ODataEntityReferenceLinkDeserializer.cs │ │ │ ├── ODataEnumDeserializer.cs │ │ │ ├── ODataItemBase.cs │ │ │ ├── ODataNestedResourceInfoWrapper.cs │ │ │ ├── ODataPrimitiveDeserializer.cs │ │ │ ├── ODataReaderExtensions.cs │ │ │ ├── ODataResourceDeserializer.cs │ │ │ ├── ODataResourceDeserializerHelpers.cs │ │ │ ├── ODataResourceSetDeserializer.cs │ │ │ ├── ODataResourceSetWrapper.cs │ │ │ ├── ODataResourceSetWrapperBase.cs │ │ │ ├── ODataResourceWrapper.cs │ │ │ └── ResourceSetType.cs │ │ ├── ETag.cs │ │ ├── ETagOfTEntity.cs │ │ ├── EdmLibHelpers.cs │ │ ├── EdmObjectHelper.cs │ │ ├── EdmPrimitiveHelpers.cs │ │ ├── EdmTypeReferenceEqualityComparer.cs │ │ ├── IETagHandler.cs │ │ ├── ODataBinaryValueMediaTypeMapping.cs │ │ ├── ODataCountMediaTypeMapping.cs │ │ ├── ODataEnumValueMediaTypeMapping.cs │ │ ├── ODataInputFormatterHelper.cs │ │ ├── ODataMediaTypes.cs │ │ ├── ODataMessageWrapper.cs │ │ ├── ODataMetadataLevel.cs │ │ ├── ODataModelBinderConverter.cs │ │ ├── ODataOutputFormatterHelper.cs │ │ ├── ODataPrimitiveValueMediaTypeMapping.cs │ │ ├── ODataRawValueMediaTypeMapping.cs │ │ ├── ODataStreamMediaTypeMapping.cs │ │ ├── ODataValueExtensions.cs │ │ ├── QueryStringMediaTypeMapping.cs │ │ └── Serialization │ │ │ ├── DefaultODataSerializerProvider.cs │ │ │ ├── EntitySelfLinks.cs │ │ │ ├── ODataCollectionSerializer.cs │ │ │ ├── ODataDeltaFeedSerializer.cs │ │ │ ├── ODataEdmTypeSerializer.cs │ │ │ ├── ODataEntityReferenceLinkSerializer.cs │ │ │ ├── ODataEntityReferenceLinksSerializer.cs │ │ │ ├── ODataEnumSerializer.cs │ │ │ ├── ODataErrorSerializer.cs │ │ │ ├── ODataMetadataSerializer.cs │ │ │ ├── ODataPayloadKindHelper.cs │ │ │ ├── ODataPrimitiveSerializer.cs │ │ │ ├── ODataRawValueSerializer.cs │ │ │ ├── ODataResourceSerializer.cs │ │ │ ├── ODataResourceSetSerializer.cs │ │ │ ├── ODataResourceValueSerializer.cs │ │ │ ├── ODataSerializer.cs │ │ │ ├── ODataSerializerContext.cs │ │ │ ├── ODataSerializerHelper.cs │ │ │ ├── ODataSerializerProvider.cs │ │ │ ├── ODataSerializerProviderExtensions.cs │ │ │ ├── ODataServiceDocumentSerializer.cs │ │ │ ├── SelectExpandNode.cs │ │ │ ├── TypedEdmComplexObject.cs │ │ │ ├── TypedEdmEntityObject.cs │ │ │ └── TypedEdmStructuredObject.cs │ ├── FunctionImportComparer.cs │ ├── GetNextPageHelper.cs │ ├── IDelta.cs │ ├── IDeltaDeletedEntityObject.cs │ ├── IDeltaSet.cs │ ├── IDeltaSetItem.cs │ ├── IEdmChangedObject.cs │ ├── IEdmComplexObject.cs │ ├── IEdmDeltaDeletedEntityObject.cs │ ├── IEdmDeltaDeletedLink.cs │ ├── IEdmDeltaLink.cs │ ├── IEdmDeltaLinkBase.cs │ ├── IEdmEntityObject.cs │ ├── IEdmEnumObject.cs │ ├── IEdmObject.cs │ ├── IEdmStructuredObject.cs │ ├── IODataAPIHandler.cs │ ├── IPerRouteContainer.cs │ ├── Interfaces │ │ ├── IWebApiActionDescriptor.cs │ │ ├── IWebApiActionMap.cs │ │ ├── IWebApiAssembliesResolver.cs │ │ ├── IWebApiContext.cs │ │ ├── IWebApiControllerContext.cs │ │ ├── IWebApiHeaders.cs │ │ ├── IWebApiOptions.cs │ │ ├── IWebApiRequestMessage.cs │ │ └── IWebApiUrlHelper.cs │ ├── MetadataController.cs │ ├── Microsoft.AspNet.OData.Shared.projitems │ ├── Microsoft.AspNet.OData.Shared.shproj │ ├── NavigationPropertyQueryableConfiguration.cs │ ├── NavigationPropertyQueryableConfigurationAnnotation.cs │ ├── NonValidatingParameterBindingAttribute.cs │ ├── NullEdmComplexObject.cs │ ├── ODataAPIHandler.cs │ ├── ODataAPIHandlerFactory.cs │ ├── ODataAPIResponseStatus.cs │ ├── ODataActionParameters.cs │ ├── ODataController.cs │ ├── ODataIdContainer.cs │ ├── ODataNullValueMessageHandler.cs │ ├── ODataQueryContext.cs │ ├── ODataQueryContextExtensions.cs │ ├── ODataQueryParameterBindingAttribute.cs │ ├── ODataSwaggerConverter.cs │ ├── ODataSwaggerUtilities.cs │ ├── ODataUntypedActionParameters.cs │ ├── ODataUriFunctions.cs │ ├── PageResult.cs │ ├── PageResultOfT.cs │ ├── PerRouteContainerBase.cs │ ├── PropertyAccessor.cs │ ├── Query │ │ ├── AllowedArithmeticOperators.cs │ │ ├── AllowedFunctions.cs │ │ ├── AllowedLogicalOperators.cs │ │ ├── AllowedQueryOptions.cs │ │ ├── ApplyQueryOption.cs │ │ ├── AutoSelectExpandHelper.cs │ │ ├── CountAttribute.cs │ │ ├── CountQueryOption.cs │ │ ├── DefaultQuerySettings.cs │ │ ├── DefaultSkipTokenHandler.cs │ │ ├── ExpandAttribute.cs │ │ ├── ExpandConfiguration.cs │ │ ├── ExpandModelPath.cs │ │ ├── ExpandQueryBuilder.cs │ │ ├── Expressions │ │ │ ├── AggregationBinder.cs │ │ │ ├── AggregationPropertyContainer.cs │ │ │ ├── ClrCanonicalFunctions.cs │ │ │ ├── ClrSafeFunctions.cs │ │ │ ├── ComputeBinder.cs │ │ │ ├── DynamicTypeWrapper.cs │ │ │ ├── DynamicTypeWrapperConverter.cs │ │ │ ├── ExpressionBinderBase.cs │ │ │ ├── FilterBinder.cs │ │ │ ├── IdentityPropertyMapper.cs │ │ │ ├── Linq2ObjectsComparisonMethods.cs │ │ │ ├── LinqParameterContainer.cs │ │ │ ├── ModelContainer.cs │ │ │ ├── NamedPropertyExpression.cs │ │ │ ├── PropertyContainer.cs │ │ │ ├── PropertyContainer.generated.cs │ │ │ ├── PropertyContainer.generated.tt │ │ │ ├── SelectExpandBinder.cs │ │ │ ├── SelectExpandIncludedProperty.cs │ │ │ ├── SelectExpandPathExtensions.cs │ │ │ ├── SelectExpandWrapper.cs │ │ │ ├── SelectExpandWrapperConverter.cs │ │ │ ├── SelectExpandWrapperJsonConverter.cs │ │ │ ├── SelectExpandWrapperOfT.cs │ │ │ ├── TransformationBinderBase.cs │ │ │ └── UriFunctionsBinder.cs │ │ ├── FilterAttribute.cs │ │ ├── FilterQueryOption.cs │ │ ├── HandleNullPropagationOption.cs │ │ ├── HandleNullPropagationOptionHelper.cs │ │ ├── ICountOptionCollection.cs │ │ ├── IExpandQueryBuilder.cs │ │ ├── IODataQueryOptionsParser.cs │ │ ├── IPropertyMapper.cs │ │ ├── ISelectExpandWrapper.cs │ │ ├── ITruncatedCollection.cs │ │ ├── ModelBoundQuerySettings.cs │ │ ├── NonFilterableAttribute.cs │ │ ├── NotCountableAttribute.cs │ │ ├── NotExpandableAttribute.cs │ │ ├── NotFilterableAttribute.cs │ │ ├── NotNavigableAttribute.cs │ │ ├── NotSortableAttribute.cs │ │ ├── ODataPathQueryBuilder.cs │ │ ├── ODataQueryOptions.cs │ │ ├── ODataQueryOptionsOfTEntity.cs │ │ ├── ODataQueryOptionsParserFactory.cs │ │ ├── ODataQuerySettings.cs │ │ ├── ODataRawQueryOptions.cs │ │ ├── ODataValidationSettings.cs │ │ ├── OrderByAttribute.cs │ │ ├── OrderByCountNode.cs │ │ ├── OrderByItNode.cs │ │ ├── OrderByNode.cs │ │ ├── OrderByOpenPropertyNode.cs │ │ ├── OrderByPropertyNode.cs │ │ ├── OrderByQueryOption.cs │ │ ├── PageAttribute.cs │ │ ├── ParameterAliasNodeTranslator.cs │ │ ├── PlainTextODataQueryOptionsParser.cs │ │ ├── QueryOptionSetting.cs │ │ ├── SelectAttribute.cs │ │ ├── SelectExpandQueryOption.cs │ │ ├── SelectExpandType.cs │ │ ├── SelectModelPath.cs │ │ ├── SkipQueryOption.cs │ │ ├── SkipTokenHandler.cs │ │ ├── SkipTokenQueryOption.cs │ │ ├── TopQueryOption.cs │ │ ├── TruncatedCollectionOfT.cs │ │ ├── UnsortableAttribute.cs │ │ └── Validators │ │ │ ├── CountQueryValidator.cs │ │ │ ├── FilterQueryValidator.cs │ │ │ ├── ODataQueryValidator.cs │ │ │ ├── OrderByModelLimitationsValidator.cs │ │ │ ├── OrderByQueryValidator.cs │ │ │ ├── SelectExpandQueryValidator.cs │ │ │ ├── SkipQueryValidator.cs │ │ │ ├── SkipTokenQueryValidator.cs │ │ │ └── TopQueryValidator.cs │ ├── QueryHelpers.cs │ ├── QueryableRestrictions.cs │ ├── QueryableRestrictionsAnnotation.cs │ ├── RequestMethod.cs │ ├── RequestPreferenceHelpers.cs │ ├── ResourceContext.cs │ ├── ResourceContextOfTStructuredType.cs │ ├── ResourceSetContext.cs │ ├── Results │ │ └── ResultHelpers.cs │ ├── Routing │ │ ├── Conventions │ │ │ ├── ActionMapExtensions.cs │ │ │ ├── ActionRoutingConvention.cs │ │ │ ├── AttributeRoutingConvention.cs │ │ │ ├── DynamicPropertyRoutingConvention.cs │ │ │ ├── EntityRoutingConvention.cs │ │ │ ├── EntitySetRoutingConvention.cs │ │ │ ├── FunctionRoutingConvention.cs │ │ │ ├── MetadataRoutingConvention.cs │ │ │ ├── NavigationRoutingConvention.cs │ │ │ ├── NavigationSourceRoutingConvention.cs │ │ │ ├── NestedPathsRoutingConvention.cs │ │ │ ├── OperationImportRoutingConvention.cs │ │ │ ├── PropertyRoutingConvention.cs │ │ │ ├── RefRoutingConvention.cs │ │ │ ├── RequestMethodExtensions.cs │ │ │ ├── RoutingConventionHelpers.cs │ │ │ ├── SelectControllerResult.cs │ │ │ ├── SingletonRoutingConvention.cs │ │ │ └── UnmappedRequestRoutingConvention.cs │ │ ├── DefaultODataPathHandler.cs │ │ ├── DefaultODataPathValidator.cs │ │ ├── IODataPathHandler.cs │ │ ├── IODataPathTemplateHandler.cs │ │ ├── KeyValueParser.cs │ │ ├── ODataOptionalParameter.cs │ │ ├── ODataParameterHelper.cs │ │ ├── ODataParameterValue.cs │ │ ├── ODataPath.cs │ │ ├── ODataPathParameterBindingAttribute.cs │ │ ├── ODataPathRouteConstraint.cs │ │ ├── ODataPathSegmentExtensions.cs │ │ ├── ODataPathSegmentHandler.cs │ │ ├── ODataPathSegmentTranslator.cs │ │ ├── ODataRoute.cs │ │ ├── ODataRouteAttribute.cs │ │ ├── ODataRouteConstants.cs │ │ ├── ODataRoutePrefixAttribute.cs │ │ ├── ODataSegmentKinds.cs │ │ ├── ODataVersionConstraint.cs │ │ ├── Template │ │ │ ├── DynamicSegmentTemplate.cs │ │ │ ├── EntitySetSegmentTemplate.cs │ │ │ ├── KeySegmentTemplate.cs │ │ │ ├── NavigationPropertyLinkSegmentTemplate.cs │ │ │ ├── NavigationPropertySegmentTemplate.cs │ │ │ ├── ODataPathSegmentTemplate.cs │ │ │ ├── ODataPathSegmentTemplateOfT.cs │ │ │ ├── ODataPathSegmentTemplateTranslator.cs │ │ │ ├── ODataPathTemplate.cs │ │ │ ├── OperationImportSegmentTemplate.cs │ │ │ ├── OperationSegmentTemplate.cs │ │ │ ├── PathTemplateSegmentTemplate.cs │ │ │ ├── PropertySegmentTemplate.cs │ │ │ ├── SingletonSegmentTemplate.cs │ │ │ └── TypeSegmentTemplate.cs │ │ └── UnresolvedPathSegment.cs │ ├── TimeZoneInfoHelper.cs │ ├── TransientAnnotations.cs │ ├── TypeHelper.cs │ ├── TypedDelta.cs │ ├── UnqualifiedCallAndEnumPrefixFreeResolver.cs │ └── WebApiAssembliesResolver.cs ├── Microsoft.AspNet.OData │ ├── Adapters │ │ ├── WebApiActionDescriptor.cs │ │ ├── WebApiActionMap.cs │ │ ├── WebApiAssembliesResolver.cs │ │ ├── WebApiContext.cs │ │ ├── WebApiControllerContext.cs │ │ ├── WebApiOptions.cs │ │ ├── WebApiRequestHeaders.cs │ │ ├── WebApiRequestMessage.cs │ │ └── WebApiUrlHelper.cs │ ├── Batch │ │ ├── ChangeSetRequestItem.cs │ │ ├── ChangeSetResponseItem.cs │ │ ├── DefaultODataBatchHandler.cs │ │ ├── LazyStreamContent.cs │ │ ├── ODataBatchContent.cs │ │ ├── ODataBatchHandler.cs │ │ ├── ODataBatchHttpRequestMessageExtensions.cs │ │ ├── ODataBatchReaderExtensions.cs │ │ ├── ODataBatchRequestItem.cs │ │ ├── ODataBatchResponseItem.cs │ │ ├── ODataHttpContentExtensions.cs │ │ ├── OperationRequestItem.cs │ │ ├── OperationResponseItem.cs │ │ └── UnbufferedODataBatchHandler.cs │ ├── Builder │ │ └── ODataConventionModelBuilder.cs │ ├── ETagMessageHandler.cs │ ├── EnableQueryAttribute.cs │ ├── Extensions │ │ ├── HttpActionDescriptorExtensions.cs │ │ ├── HttpConfigurationExtensions.cs │ │ ├── HttpErrorExtensions.cs │ │ ├── HttpRequestMessageExtensions.cs │ │ ├── HttpRequestMessageProperties.cs │ │ └── UrlHelperExtensions.cs │ ├── Formatter │ │ ├── Deserialization │ │ │ ├── DefaultODataDeserializerProvider.cs │ │ │ ├── ODataDeserializerContext.cs │ │ │ └── ODataDeserializerProvider.cs │ │ ├── ODataCountMediaTypeMapping.cs │ │ ├── ODataMediaTypeFormatter.cs │ │ ├── ODataMediaTypeFormatters.cs │ │ ├── ODataModelBinderProvider.cs │ │ ├── ODataRawValueMediaTypeMapping.cs │ │ ├── ODataStreamMediaTypeMapping.cs │ │ ├── QueryStringMediaTypeMapping.cs │ │ └── Serialization │ │ │ ├── DefaultODataSerializerProvider.cs │ │ │ ├── ODataErrorSerializer.cs │ │ │ ├── ODataSerializerContext.cs │ │ │ └── ODataSerializerProvider.cs │ ├── FromODataUriAttribute.cs │ ├── GetNextPageHelper.cs │ ├── GlobalSuppressions.cs │ ├── HttpRequestScope.cs │ ├── Microsoft.AspNet.OData.Nightly.nuspec │ ├── Microsoft.AspNet.OData.Release.nuspec │ ├── Microsoft.AspNet.OData.csproj │ ├── NonValidatingParameterBindingAttribute.cs │ ├── ODataController.cs │ ├── ODataFormattingAttribute.cs │ ├── ODataMessageWrapperHelper.cs │ ├── ODataNullValueMessageHandler.cs │ ├── ODataQueryParameterBindingAttribute.cs │ ├── ODataRoutingAttribute.cs │ ├── PerRequestActionValueBinder.cs │ ├── PerRequestContentNegotiator.cs │ ├── PerRequestParameterBinding.cs │ ├── PerRouteContainer.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Query │ │ ├── ODataQueryOptions.cs │ │ ├── ODataQueryOptionsOfTEntity.cs │ │ ├── PlainTextODataQueryOptionsParser.cs │ │ └── QueryFilterProvider.cs │ ├── ResourceContext.cs │ ├── ResourceSetContext.cs │ ├── Results │ │ ├── CreatedODataResult.cs │ │ ├── ResultHelpers.cs │ │ └── UpdatedODataResult.cs │ ├── Routing │ │ ├── Conventions │ │ │ ├── ActionRoutingConvention.cs │ │ │ ├── AttributeRoutingConvention.cs │ │ │ ├── DynamicPropertyRoutingConvention.cs │ │ │ ├── EntityRoutingConvention.cs │ │ │ ├── EntitySetRoutingConvention.cs │ │ │ ├── FunctionRoutingConvention.cs │ │ │ ├── IODataRoutingConvention.cs │ │ │ ├── MetadataRoutingConvention.cs │ │ │ ├── NavigationRoutingConvention.cs │ │ │ ├── NavigationSourceRoutingConvention.cs │ │ │ ├── ODataRoutingConventions.cs │ │ │ ├── OperationImportRoutingConvention.cs │ │ │ ├── PropertyRoutingConvention.cs │ │ │ ├── RefRoutingConvention.cs │ │ │ ├── SingletonRoutingConvention.cs │ │ │ └── UnmappedRequestRoutingConvention.cs │ │ ├── ODataActionSelector.cs │ │ ├── ODataPathParameterBindingAttribute.cs │ │ ├── ODataPathRouteConstraint.cs │ │ ├── ODataRoute.cs │ │ ├── ODataValueProviderFactory.cs │ │ └── ODataVersionConstraint.cs │ ├── Settings.StyleCop │ ├── app.config │ └── packages.config ├── Microsoft.AspNetCore.OData │ ├── Adapters │ │ ├── WebApiActionDescriptor.cs │ │ ├── WebApiActionMap.cs │ │ ├── WebApiAssembliesResolver.cs │ │ ├── WebApiContext.cs │ │ ├── WebApiControllerContext.cs │ │ ├── WebApiOptions.cs │ │ ├── WebApiRequestHeaders.cs │ │ ├── WebApiRequestMessage.cs │ │ └── WebApiUrlHelper.cs │ ├── Batch │ │ ├── ChangeSetRequestItem.cs │ │ ├── ChangeSetResponseItem.cs │ │ ├── DefaultODataBatchHandler.cs │ │ ├── HttpRequestExtensions.cs │ │ ├── ODataBatchContent.cs │ │ ├── ODataBatchHandler.cs │ │ ├── ODataBatchHttpRequestMessageExtensions.cs │ │ ├── ODataBatchMiddleware.cs │ │ ├── ODataBatchPathMapping.cs │ │ ├── ODataBatchReaderExtensions.cs │ │ ├── ODataBatchRequestItem.cs │ │ ├── ODataBatchResponseItem.cs │ │ ├── ODataBatchStream.cs │ │ ├── OperationRequestItem.cs │ │ ├── OperationResponseItem.cs │ │ └── UnbufferedODataBatchHandler.cs │ ├── Builder │ │ └── ODataConventionModelBuilder.cs │ ├── ETagMessageHandler.cs │ ├── EnableNestedPathsAttribute.cs │ ├── EnableQueryAttribute.cs │ ├── Extensions │ │ ├── ActionDescriptorExtensions.cs │ │ ├── Endpoint │ │ │ ├── ODataEndpointBuilderExtensions.cs │ │ │ ├── ODataEndpointLinkGenerator.cs │ │ │ ├── ODataEndpointPattern.cs │ │ │ ├── ODataEndpointRouteValueTransformer.cs │ │ │ └── ODataEndpointSelectorPolicy.cs │ │ ├── HttpContextExtensions.cs │ │ ├── HttpRequestExtensions.cs │ │ ├── HttpResponseExtensions.cs │ │ ├── ODataApplicationBuilderExtensions.cs │ │ ├── ODataRouteBuilderExtensions.cs │ │ ├── ODataServiceCollectionExtensions.cs │ │ ├── ODataServiceProviderConfigExtenions.cs │ │ ├── SerializableErrorExtensions.cs │ │ └── UrlHelperExtensions.cs │ ├── Formatter │ │ ├── Deserialization │ │ │ ├── DefaultODataDeserializerProvider.cs │ │ │ ├── ODataDeserializerContext.cs │ │ │ └── ODataDeserializerProvider.cs │ │ ├── IMediaTypeMappingCollection.cs │ │ ├── MediaTypeMapping.cs │ │ ├── ODataCountMediaTypeMapping.cs │ │ ├── ODataInputFormatter.cs │ │ ├── ODataInputFormatterFactory.cs │ │ ├── ODataModelBinder.cs │ │ ├── ODataOutputFormatter.cs │ │ ├── ODataOutputFormatterFactory.cs │ │ ├── ODataRawValueMediaTypeMapping.cs │ │ ├── ODataStreamMediaTypeMapping.cs │ │ ├── QueryStringMediaTypeMapping.cs │ │ └── Serialization │ │ │ ├── DefaultODataSerializerProvider.cs │ │ │ ├── ODataErrorSerializer.cs │ │ │ ├── ODataSerializerContext.cs │ │ │ └── ODataSerializerProvider.cs │ ├── FromODataUriAttribute.cs │ ├── GetNextPageHelper.cs │ ├── HttpRequestScope.cs │ ├── Interfaces │ │ ├── IODataBatchFeature.cs │ │ ├── IODataCoreBuilder.cs │ │ └── IODataFeature.cs │ ├── Microsoft.AspNetCore.OData.Nightly.nuspec │ ├── Microsoft.AspNetCore.OData.Release.nuspec │ ├── Microsoft.AspNetCore.OData.csproj │ ├── NonValidatingParameterBindingAttribute.cs │ ├── ODataBatchFeature.cs │ ├── ODataController.cs │ ├── ODataFeature.cs │ ├── ODataFormattingAttribute.cs │ ├── ODataMessageWrapperHelper.cs │ ├── ODataNullValueMessageHandler.cs │ ├── ODataOptions.cs │ ├── ODataQueryParameterBindingAttribute.cs │ ├── ODataRoutingAttribute.cs │ ├── ODataServiceBuilder.cs │ ├── ODataValueProviderFactory.cs │ ├── PerRouteContainer.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Query │ │ ├── ODataQueryOptions.cs │ │ ├── ODataQueryOptionsOfTEntity.cs │ │ ├── PlainTextODataQueryOptionsParser.cs │ │ └── QueryFilterProvider.cs │ ├── ResourceContext.cs │ ├── ResourceSetContext.cs │ ├── Results │ │ ├── BadRequestODataResult.cs │ │ ├── ConflictODataResult.cs │ │ ├── CreatedODataResult.cs │ │ ├── IODataErrorResult.cs │ │ ├── NotFoundODataResult.cs │ │ ├── ODataErrorResult.cs │ │ ├── ResultHelpers.cs │ │ ├── UnauthorizedODataResult.cs │ │ ├── UnprocessableEntityODataResult .cs │ │ └── UpdatedODataResult.cs │ ├── Routing │ │ ├── Conventions │ │ │ ├── ActionRoutingConvention.cs │ │ │ ├── AttributeRoutingConvention.cs │ │ │ ├── DynamicPropertyRoutingConvention.cs │ │ │ ├── EntityRoutingConvention.cs │ │ │ ├── EntitySetRoutingConvention.cs │ │ │ ├── FunctionRoutingConvention.cs │ │ │ ├── IODataRoutingConvention.cs │ │ │ ├── MetadataRoutingConvention.cs │ │ │ ├── NavigationRoutingConvention.cs │ │ │ ├── NavigationSourceRoutingConvention.cs │ │ │ ├── NestedPathsRoutingConvention.cs │ │ │ ├── ODataRoutingConventions.cs │ │ │ ├── OperationImportRoutingConvention.cs │ │ │ ├── PropertyRoutingConvention.cs │ │ │ ├── RefRoutingConvention.cs │ │ │ ├── SingletonRoutingConvention.cs │ │ │ └── UnmappedRequestRoutingConvention.cs │ │ ├── ODataActionSelector.cs │ │ ├── ODataPathParameterBindingAttribute.cs │ │ ├── ODataPathRouteConstraint.cs │ │ ├── ODataRoute.cs │ │ └── ODataVersionConstraint.cs │ ├── SingleResult.cs │ └── SingleResultOfT.cs ├── Settings.StyleCop └── Strict.ruleset ├── test ├── E2ETest │ ├── Microsoft.Test.E2E.AspNet.OData │ │ ├── Aggregation │ │ │ ├── AggregationContextCore.cs │ │ │ ├── AggregationController.cs │ │ │ ├── AggregationDataModel.cs │ │ │ ├── AggregationEdmModel.cs │ │ │ ├── AggregationTests.cs │ │ │ ├── LinqToSqlDatabaseContext.cs │ │ │ ├── PagedAggregationTests.cs │ │ │ └── PagedCustomersController.cs │ │ ├── AlternateKeys │ │ │ ├── AlternateKeysController.cs │ │ │ ├── AlternateKeysDataSource.cs │ │ │ ├── AlternateKeysEdmModel.cs │ │ │ └── AlternateKeysTest.cs │ │ ├── AutoExpand │ │ │ ├── AutoExpandController.cs │ │ │ ├── AutoExpandDataModel.cs │ │ │ ├── AutoExpandEdmModel.cs │ │ │ ├── AutoExpandNavigationOnComplexTests.cs │ │ │ └── AutoExpandTests.cs │ │ ├── Batch │ │ │ ├── Client │ │ │ │ ├── DefaultBatchGeneratedClient.cs │ │ │ │ └── UnbufferedBatchGeneratedClient.cs │ │ │ └── Tests │ │ │ │ └── DataServicesClient │ │ │ │ ├── DefaultODataBatchHandlerTests.cs │ │ │ │ └── UnbufferedODataBatchHandlerTests.cs │ │ ├── BoundOperation │ │ │ ├── BoundOperationContextUriTest.cs │ │ │ ├── BoundOperationController.cs │ │ │ ├── BoundOperationDataModel.cs │ │ │ ├── BoundOperationEdmModel.cs │ │ │ └── BoundOperationTest.cs │ │ ├── Build.AspNet │ │ │ ├── Aggregation │ │ │ │ └── LinqToSqlDatabaseContext.cs │ │ │ ├── App.config │ │ │ ├── BulkOperation │ │ │ │ ├── BulkOperationController.cs │ │ │ │ ├── BulkOperationDataModel.cs │ │ │ │ ├── BulkOperationEdmModel.cs │ │ │ │ └── BulkOperationTest.cs │ │ │ ├── Formatter │ │ │ │ └── JsonLight │ │ │ │ │ └── Metadata │ │ │ │ │ └── Extensions │ │ │ │ │ └── HttpRequestMessageExtensions.cs │ │ │ ├── InstanceAnnotations │ │ │ │ ├── AnnotationController.cs │ │ │ │ ├── AnnotationDataModel.cs │ │ │ │ ├── AnnotationEdmModel.cs │ │ │ │ └── AnnotationTest.cs │ │ │ ├── Microsoft.Test.E2E.AspNet.OData.csproj │ │ │ ├── Properties │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── UriParserExtension │ │ │ │ └── UriResolverDependencyTestWithOldDefaultConfig.cs │ │ │ └── packages.config │ │ ├── Build.AspNetCore │ │ │ ├── Aggregation │ │ │ │ └── LinqToSqlDatabaseContext.cs │ │ │ ├── App.config │ │ │ ├── DependencyInjection │ │ │ │ └── CustomizeSkipTokenImplementationTest.cs │ │ │ ├── Microsoft.Test.E2E.AspNetCore.OData.csproj │ │ │ ├── Properties │ │ │ │ └── AssemblyInfo.cs │ │ │ └── packages.config │ │ ├── Build.AspNetCore3x │ │ │ ├── ActionResult │ │ │ │ ├── ActionResultController.cs │ │ │ │ ├── ActionResultEdmModel.cs │ │ │ │ ├── ActionResultODataModel.cs │ │ │ │ └── ActionResultTests.cs │ │ │ ├── Aggregation │ │ │ │ └── LinqToSqlDatabaseContext.cs │ │ │ ├── BulkOperation │ │ │ │ └── EFTests │ │ │ │ │ ├── BulkOperationControllerEF.cs │ │ │ │ │ ├── BulkOperationPatchHandlersEF.cs │ │ │ │ │ └── BulkOperationTestEF.cs │ │ │ ├── ConcurrentQuery │ │ │ │ ├── ConcurrentQueryController.cs │ │ │ │ ├── ConcurrentQueryEdmModel.cs │ │ │ │ ├── ConcurrentQueryODataModel.cs │ │ │ │ └── ConcurrentQueryTests.cs │ │ │ ├── DependencyInjection │ │ │ │ └── CustomizeSkipTokenImplementationTest.cs │ │ │ ├── Endpoint │ │ │ │ ├── EndpointController.cs │ │ │ │ ├── EndpointDbContext.cs │ │ │ │ ├── EndpointEfCoreTests.cs │ │ │ │ ├── EndpointRouteConfiguration.cs │ │ │ │ ├── EndpointTestBase.cs │ │ │ │ ├── EndpointTestFixture.cs │ │ │ │ └── EndpointTestModel.cs │ │ │ ├── Microsoft.Test.E2E.AspNetCore3x.OData.csproj │ │ │ ├── NestedPaths │ │ │ │ ├── NestedPathEFTests.cs │ │ │ │ └── NestedPathsTests.cs │ │ │ ├── NonEdm │ │ │ │ ├── NonEdmController.cs │ │ │ │ ├── NonEdmDataModel.cs │ │ │ │ └── NonEdmTests.cs │ │ │ ├── Properties │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ └── launchSettings.json │ │ │ └── QueryValidationBeforeAction │ │ │ │ ├── QueryValidationBeforeActionController.cs │ │ │ │ ├── QueryValidationBeforeActionEdmModel.cs │ │ │ │ ├── QueryValidationBeforeActionODataModel.cs │ │ │ │ └── QueryValidationBeforeActionTests.cs │ │ ├── BulkOperation │ │ │ ├── BulkOperationController.cs │ │ │ ├── BulkOperationDataModel.cs │ │ │ ├── BulkOperationEdmModel.cs │ │ │ ├── BulkOperationPatchHandlers.cs │ │ │ └── BulkOperationTest.cs │ │ ├── Cast │ │ │ ├── CastContext.cs │ │ │ ├── CastControllers.cs │ │ │ ├── CastDataModel.cs │ │ │ ├── CastEdmModel.cs │ │ │ └── CastTest.cs │ │ ├── Common │ │ │ ├── AssertExtension.cs │ │ │ ├── AttackStringBuilder.cs │ │ │ ├── ComparisonHelper.cs │ │ │ ├── Container.cs │ │ │ ├── Controllers │ │ │ │ ├── AsyncInMemoryODataController.cs │ │ │ │ ├── CollectionController.cs │ │ │ │ ├── ComplexTypesCollectionsController.cs │ │ │ │ ├── ComplexTypesController.cs │ │ │ │ ├── JTokenController.cs │ │ │ │ ├── ModelBindingBasedComplexTypesController.cs │ │ │ │ ├── ModelStateErrorHandlingAttribute.cs │ │ │ │ ├── NorthwindController.cs │ │ │ │ ├── PrimitiveCollectionsOperationsController.cs │ │ │ │ ├── PrimitiveOperationsController.cs │ │ │ │ ├── TestControllers.cs │ │ │ │ └── TypeLibrary │ │ │ │ │ ├── ComplexTypes.cs │ │ │ │ │ ├── ModelBindingBasedComplexTypes.cs │ │ │ │ │ └── NorthwindTypes.cs │ │ │ ├── DataServiceContextAsyncExtension.cs │ │ │ ├── DataServiceQueryExtensions.cs │ │ │ ├── Execution │ │ │ │ ├── PortArranger.cs │ │ │ │ ├── SecurityHelper.cs │ │ │ │ ├── Web.config │ │ │ │ ├── WebHostLogExceptionFilter.cs │ │ │ │ ├── WebHostTestBase.cs │ │ │ │ ├── WebHostTestFixture.cs │ │ │ │ └── WebRouteConfiguration.cs │ │ │ ├── Extensions │ │ │ │ ├── HttpClientExtension.cs │ │ │ │ ├── HttpConfigurationExtensions.cs │ │ │ │ ├── HttpContentExtensions.cs │ │ │ │ ├── HttpRequestExtensions.cs │ │ │ │ ├── ODataPathHandlerExtensions.cs │ │ │ │ └── ResourceContextExtensions.cs │ │ │ ├── FormatterFactory.cs │ │ │ ├── HttpClientExtensions.cs │ │ │ ├── HttpControllerContextExtensions.cs │ │ │ ├── Instancing │ │ │ │ ├── CharsToUseBuilder.cs │ │ │ │ ├── ComplexTypeInstanceCreator.cs │ │ │ │ ├── CookieHeaderValueInstanceCreator.cs │ │ │ │ ├── CreatorSettings.cs │ │ │ │ ├── InstanceCreator.cs │ │ │ │ ├── InstanceCreatorSurrogate.cs │ │ │ │ ├── JTokenInstanceCreator.cs │ │ │ │ ├── PrimitiveCreator.cs │ │ │ │ ├── RandomSeedGenerator.cs │ │ │ │ ├── SyntaxCreator.cs │ │ │ │ └── ULongJsonNetRangeLimitSurrogate.cs │ │ │ ├── JObjectExtensions.cs │ │ │ ├── JsonAssert.cs │ │ │ ├── LinkRoutingConvention2.cs │ │ │ ├── Models │ │ │ │ ├── ModelHelper.cs │ │ │ │ ├── Movie │ │ │ │ │ └── Movie.cs │ │ │ │ ├── NopCommerce │ │ │ │ │ ├── BaseEntity.cs │ │ │ │ │ ├── Configuration │ │ │ │ │ │ └── ISettings.cs │ │ │ │ │ ├── Domain │ │ │ │ │ │ ├── Affiliates │ │ │ │ │ │ │ └── Affiliate.cs │ │ │ │ │ │ ├── Blogs │ │ │ │ │ │ │ ├── BlogComment.cs │ │ │ │ │ │ │ ├── BlogExtensions.cs │ │ │ │ │ │ │ ├── BlogPost.cs │ │ │ │ │ │ │ ├── BlogPostTag.cs │ │ │ │ │ │ │ └── BlogSettings.cs │ │ │ │ │ │ ├── Catalog │ │ │ │ │ │ │ ├── AttributeControlType.cs │ │ │ │ │ │ │ ├── BackInStockSubscription.cs │ │ │ │ │ │ │ ├── BackorderMode.cs │ │ │ │ │ │ │ ├── CatalogSettings.cs │ │ │ │ │ │ │ ├── Category.cs │ │ │ │ │ │ │ ├── CategoryTemplate.cs │ │ │ │ │ │ │ ├── CrossSellProduct.cs │ │ │ │ │ │ │ ├── DownloadActivationType.cs │ │ │ │ │ │ │ ├── GiftCardType.cs │ │ │ │ │ │ │ ├── LowStockActivity.cs │ │ │ │ │ │ │ ├── ManageInventoryMethod.cs │ │ │ │ │ │ │ ├── Manufacturer.cs │ │ │ │ │ │ │ ├── ManufacturerTemplate.cs │ │ │ │ │ │ │ ├── PriceRange.cs │ │ │ │ │ │ │ ├── Product.cs │ │ │ │ │ │ │ ├── ProductAttribute.cs │ │ │ │ │ │ │ ├── ProductCategory.cs │ │ │ │ │ │ │ ├── ProductManufacturer.cs │ │ │ │ │ │ │ ├── ProductPicture.cs │ │ │ │ │ │ │ ├── ProductReview.cs │ │ │ │ │ │ │ ├── ProductReviewHelpfulness.cs │ │ │ │ │ │ │ ├── ProductSortingEnum.cs │ │ │ │ │ │ │ ├── ProductSpecificationAttribute.cs │ │ │ │ │ │ │ ├── ProductTag.cs │ │ │ │ │ │ │ ├── ProductTemplate.cs │ │ │ │ │ │ │ ├── ProductVariant.cs │ │ │ │ │ │ │ ├── ProductVariantAttribute.cs │ │ │ │ │ │ │ ├── ProductVariantAttributeCombination.cs │ │ │ │ │ │ │ ├── ProductVariantAttributeValue.cs │ │ │ │ │ │ │ ├── ProductVariantExtensions.cs │ │ │ │ │ │ │ ├── RecurringProductCyclePeriod.cs │ │ │ │ │ │ │ ├── RelatedProduct.cs │ │ │ │ │ │ │ ├── SpecificationAttribute.cs │ │ │ │ │ │ │ ├── SpecificationAttributeOption.cs │ │ │ │ │ │ │ ├── SpecificationAttributeOptionFilter.cs │ │ │ │ │ │ │ └── TierPrice.cs │ │ │ │ │ │ ├── Cms │ │ │ │ │ │ │ └── WidgetSettings.cs │ │ │ │ │ │ ├── Common │ │ │ │ │ │ │ ├── Address.cs │ │ │ │ │ │ │ ├── AdminAreaSettings.cs │ │ │ │ │ │ │ ├── CommonSettings.cs │ │ │ │ │ │ │ ├── FulltextSearchMode.cs │ │ │ │ │ │ │ ├── GenericAttribute.cs │ │ │ │ │ │ │ └── PdfSettings.cs │ │ │ │ │ │ ├── Configuration │ │ │ │ │ │ │ └── Setting.cs │ │ │ │ │ │ ├── Customers │ │ │ │ │ │ │ ├── BestCustomerReportLine.cs │ │ │ │ │ │ │ ├── Customer.cs │ │ │ │ │ │ │ ├── CustomerContent.cs │ │ │ │ │ │ │ ├── CustomerNameFormat.cs │ │ │ │ │ │ │ ├── CustomerRole.cs │ │ │ │ │ │ │ ├── CustomerSettings.cs │ │ │ │ │ │ │ ├── ExternalAuthenticationRecord.cs │ │ │ │ │ │ │ ├── ExternalAuthenticationSettings.cs │ │ │ │ │ │ │ ├── PasswordFormat.cs │ │ │ │ │ │ │ ├── RewardPointsHistory.cs │ │ │ │ │ │ │ ├── RewardPointsSettings.cs │ │ │ │ │ │ │ ├── SystemCustomerAttributeNames.cs │ │ │ │ │ │ │ ├── SystemCustomerNames.cs │ │ │ │ │ │ │ ├── SystemCustomerRoleNames.cs │ │ │ │ │ │ │ └── UserRegistrationType.cs │ │ │ │ │ │ ├── Directory │ │ │ │ │ │ │ ├── CountryOrRegion.cs │ │ │ │ │ │ │ ├── Currency.cs │ │ │ │ │ │ │ ├── CurrencySettings.cs │ │ │ │ │ │ │ ├── ExchangeRate.cs │ │ │ │ │ │ │ ├── MeasureDimension.cs │ │ │ │ │ │ │ ├── MeasureSettings.cs │ │ │ │ │ │ │ ├── MeasureWeight.cs │ │ │ │ │ │ │ └── StateProvince.cs │ │ │ │ │ │ ├── Discounts │ │ │ │ │ │ │ ├── Discount.cs │ │ │ │ │ │ │ ├── DiscountLimitationType.cs │ │ │ │ │ │ │ ├── DiscountRequirement.cs │ │ │ │ │ │ │ ├── DiscountType.cs │ │ │ │ │ │ │ └── DiscountUsageHistory.cs │ │ │ │ │ │ ├── Forums │ │ │ │ │ │ │ ├── EditorType.cs │ │ │ │ │ │ │ ├── Forum.cs │ │ │ │ │ │ │ ├── ForumGroup.cs │ │ │ │ │ │ │ ├── ForumPost.cs │ │ │ │ │ │ │ ├── ForumSearchType.cs │ │ │ │ │ │ │ ├── ForumSettings.cs │ │ │ │ │ │ │ ├── ForumSubscription.cs │ │ │ │ │ │ │ ├── ForumTopic.cs │ │ │ │ │ │ │ ├── ForumTopicType.cs │ │ │ │ │ │ │ └── PrivateMessage.cs │ │ │ │ │ │ ├── Localization │ │ │ │ │ │ │ ├── ILocalizedEntity.cs │ │ │ │ │ │ │ ├── ILocalizedEnum.cs │ │ │ │ │ │ │ ├── Language.cs │ │ │ │ │ │ │ ├── LocaleStringResource.cs │ │ │ │ │ │ │ ├── LocalizationSettings.cs │ │ │ │ │ │ │ └── LocalizedProperty.cs │ │ │ │ │ │ ├── Logging │ │ │ │ │ │ │ ├── ActivityLog.cs │ │ │ │ │ │ │ ├── ActivityLogType.cs │ │ │ │ │ │ │ ├── Log.cs │ │ │ │ │ │ │ └── LogLevel.cs │ │ │ │ │ │ ├── Media │ │ │ │ │ │ │ ├── Download.cs │ │ │ │ │ │ │ ├── MediaSettings.cs │ │ │ │ │ │ │ ├── Picture.cs │ │ │ │ │ │ │ └── PictureType.cs │ │ │ │ │ │ ├── Messages │ │ │ │ │ │ │ ├── Campaign.cs │ │ │ │ │ │ │ ├── EmailAccount.cs │ │ │ │ │ │ │ ├── EmailAccountSettings.cs │ │ │ │ │ │ │ ├── Events.cs │ │ │ │ │ │ │ ├── MessageTemplate.cs │ │ │ │ │ │ │ ├── MessageTemplatesSettings.cs │ │ │ │ │ │ │ ├── NewsLetterSubscription.cs │ │ │ │ │ │ │ └── QueuedEmail.cs │ │ │ │ │ │ ├── News │ │ │ │ │ │ │ ├── NewsComment.cs │ │ │ │ │ │ │ ├── NewsItem.cs │ │ │ │ │ │ │ └── NewsSettings.cs │ │ │ │ │ │ ├── Orders │ │ │ │ │ │ │ ├── BestsellersReportLine.cs │ │ │ │ │ │ │ ├── CheckoutAttribute.cs │ │ │ │ │ │ │ ├── CheckoutAttributeValue.cs │ │ │ │ │ │ │ ├── Events.cs │ │ │ │ │ │ │ ├── GiftCard.cs │ │ │ │ │ │ │ ├── GiftCardUsageHistory.cs │ │ │ │ │ │ │ ├── Order.cs │ │ │ │ │ │ │ ├── OrderAverageReportLine.cs │ │ │ │ │ │ │ ├── OrderAverageReportLineSummary.cs │ │ │ │ │ │ │ ├── OrderNote.cs │ │ │ │ │ │ │ ├── OrderProductVariant.cs │ │ │ │ │ │ │ ├── OrderSettings.cs │ │ │ │ │ │ │ ├── OrderStatus.cs │ │ │ │ │ │ │ ├── RecurringPayment.cs │ │ │ │ │ │ │ ├── RecurringPaymentHistory.cs │ │ │ │ │ │ │ ├── ReturnRequest.cs │ │ │ │ │ │ │ ├── ReturnRequestStatus.cs │ │ │ │ │ │ │ ├── ShoppingCartItem.cs │ │ │ │ │ │ │ ├── ShoppingCartSettings.cs │ │ │ │ │ │ │ └── ShoppingCartType.cs │ │ │ │ │ │ ├── Payments │ │ │ │ │ │ │ ├── PaymentSettings.cs │ │ │ │ │ │ │ └── PaymentStatus.cs │ │ │ │ │ │ ├── Polls │ │ │ │ │ │ │ ├── Poll.cs │ │ │ │ │ │ │ ├── PollAnswer.cs │ │ │ │ │ │ │ └── PollVotingRecord.cs │ │ │ │ │ │ ├── Security │ │ │ │ │ │ │ ├── DefaultPermissionRecord.cs │ │ │ │ │ │ │ ├── PermissionRecord.cs │ │ │ │ │ │ │ └── SecuritySettings.cs │ │ │ │ │ │ ├── Seo │ │ │ │ │ │ │ ├── ISlugSupported.cs │ │ │ │ │ │ │ ├── PageTitleSeoAdjustment.cs │ │ │ │ │ │ │ ├── SeoSettings.cs │ │ │ │ │ │ │ └── UrlRecord.cs │ │ │ │ │ │ ├── Shipping │ │ │ │ │ │ │ ├── Shipment.cs │ │ │ │ │ │ │ ├── ShipmentOrderProductVariant.cs │ │ │ │ │ │ │ ├── ShippingMethod.cs │ │ │ │ │ │ │ ├── ShippingOption.cs │ │ │ │ │ │ │ ├── ShippingSettings.cs │ │ │ │ │ │ │ └── ShippingStatus.cs │ │ │ │ │ │ ├── StoreInformationSettings.cs │ │ │ │ │ │ ├── Tasks │ │ │ │ │ │ │ └── ScheduleTask.cs │ │ │ │ │ │ ├── Tax │ │ │ │ │ │ │ ├── TaxBasedOn.cs │ │ │ │ │ │ │ ├── TaxCategory.cs │ │ │ │ │ │ │ ├── TaxDisplayType.cs │ │ │ │ │ │ │ ├── TaxSettings.cs │ │ │ │ │ │ │ └── VatNumberStatus.cs │ │ │ │ │ │ └── Topics │ │ │ │ │ │ │ └── Topic.cs │ │ │ │ │ └── NopException.cs │ │ │ │ ├── ProductFamilies │ │ │ │ │ ├── Address.cs │ │ │ │ │ ├── Product.cs │ │ │ │ │ ├── ProductFamily.cs │ │ │ │ │ ├── ProductsContext.cs │ │ │ │ │ └── Supplier.cs │ │ │ │ ├── Products │ │ │ │ │ ├── Address.cs │ │ │ │ │ ├── Category.cs │ │ │ │ │ ├── Customer.cs │ │ │ │ │ ├── Order.cs │ │ │ │ │ ├── Product.cs │ │ │ │ │ └── Supplier.cs │ │ │ │ └── Vehicle │ │ │ │ │ └── Vehicle.cs │ │ │ ├── NavigationRoutingConvention2.cs │ │ │ ├── ODataAcceptHeaderTestSet.cs │ │ │ ├── ODataHelper.cs │ │ │ ├── ODataTestConstants.cs │ │ │ ├── ODataTestExtension.cs │ │ │ ├── ODataUrlAssert.cs │ │ │ ├── PlaceholderTraceWriter.cs │ │ │ ├── PropertyRoutingConvention.cs │ │ │ ├── ResourceContextHelper.cs │ │ │ ├── TestAssembly.cs │ │ │ ├── TestAssemblyResolver.cs │ │ │ ├── TestAttributeRoutingConvention.cs │ │ │ ├── TestControllerContext.cs │ │ │ ├── TestDbContext.cs │ │ │ ├── TestEntitySetRoutingConvention.cs │ │ │ ├── TheoryDataSet.cs │ │ │ ├── TypeCreator │ │ │ │ ├── DynamicAssemblyResolver.cs │ │ │ │ └── ODataModelTypeCreator.cs │ │ │ └── TypesInjectionAssembly.cs │ │ ├── ComplexTypeInheritance │ │ │ ├── ComplexTypeInheritance.cs │ │ │ ├── ComplexTypeInheritance.tt │ │ │ ├── ComplexTypeInheritance.ttinclude │ │ │ ├── ComplexTypeInheritanceControllers.cs │ │ │ ├── ComplexTypeInheritanceDataModels.cs │ │ │ ├── ComplexTypeInheritanceEdmModels.cs │ │ │ ├── ComplexTypeInheritanceEdmModels.csdl.xml │ │ │ ├── ComplexTypeInheritanceSerializeTest.cs │ │ │ └── ComplexTypeInheritanceTests.cs │ │ ├── Containment │ │ │ ├── ContainmentControllers.cs │ │ │ ├── ContainmentDataModels.cs │ │ │ ├── ContainmentDataSource.cs │ │ │ ├── ContainmentEdmModels.cs │ │ │ ├── ContainmentProxy.cs │ │ │ └── ContainmentTests.cs │ │ ├── DateAndTimeOfDay │ │ │ ├── DateAndTimeOfDayContext.cs │ │ │ ├── DateAndTimeOfDayController.cs │ │ │ ├── DateAndTimeOfDayEdmModel.cs │ │ │ ├── DateAndTimeOfDayModel.cs │ │ │ ├── DateAndTimeOfDayTest.cs │ │ │ ├── DateAndTimeOfDayWithEfTest.cs │ │ │ └── DateWithEfTest.cs │ │ ├── DateTimeOffsetSupport │ │ │ ├── DateTimeOffsetController.cs │ │ │ ├── DateTimeOffsetDataModel.cs │ │ │ ├── DateTimeOffsetEdmModel.cs │ │ │ └── DateTimeOffsetTest.cs │ │ ├── DateTimeSupport │ │ │ ├── DateTimeController.cs │ │ │ ├── DateTimeDataModel.cs │ │ │ ├── DateTimeEdmModel.cs │ │ │ └── DateTimeTest.cs │ │ ├── DeltaQueryTests │ │ │ └── DeltaQueryTests.cs │ │ ├── DependencyInjection │ │ │ ├── CustomizeCountQueryValidatorTest.cs │ │ │ ├── CustomizeSerializerTest.cs │ │ │ ├── DependencyInjectionController.cs │ │ │ └── DependencyInjectionEdmModel.cs │ │ ├── DerivedTypes │ │ │ ├── DerivedTypesControllers.cs │ │ │ ├── DerivedTypesDataModel.cs │ │ │ └── DerivedTypesTests.cs │ │ ├── DollarFormat │ │ │ ├── DollarFormatController.cs │ │ │ ├── DollarFormatModel.cs │ │ │ ├── DollarFormatOverrideAcceptMediaTypeTests.cs │ │ │ └── DollarFormatWithoutAcceptMediaTypeTests.cs │ │ ├── DollarId │ │ │ ├── DollarIdClientTest.cs │ │ │ ├── DollarIdControllers.cs │ │ │ ├── DollarIdModel.cs │ │ │ ├── DollarIdTest.cs │ │ │ ├── ODataClient.cs │ │ │ ├── ODataClient.odata.config │ │ │ └── ODataClient.tt │ │ ├── DollarLevels │ │ │ ├── DollarLevelsController.cs │ │ │ ├── DollarLevelsDataModel.cs │ │ │ ├── DollarLevelsEdmModel.cs │ │ │ └── DollarLevelsTest.cs │ │ ├── DollarQuery │ │ │ ├── DollarQueryCustomersController.cs │ │ │ ├── DollarQueryModels.cs │ │ │ └── DollarQueryTests.cs │ │ ├── ETags │ │ │ ├── DeleteUpdatedEntryWithIfMatchETagsTest.cs │ │ │ ├── DerivedETagTests.cs │ │ │ ├── DominiosController.cs │ │ │ ├── ETagCurrencyTokenEfContext.cs │ │ │ ├── ETagCurrencyTokenEfContextTest.cs │ │ │ ├── ETagsController.cs │ │ │ ├── ETagsModel.cs │ │ │ ├── ETagsOtherTypesTest.cs │ │ │ ├── ETagsUntypedTests.cs │ │ │ ├── GetEntryWithIfNoneMatchETagsTest.cs │ │ │ ├── JsonETagsTests.cs │ │ │ ├── PatchUpdatedEntryWithIfMatchETagsTest.cs │ │ │ └── PutUpdatedEntryWithIfMatchETagsTest.cs │ │ ├── EntitySetAggregation │ │ │ ├── EntitySetAggregationController.cs │ │ │ ├── EntitySetAggregationDataModel.cs │ │ │ ├── EntitySetAggregationEdmModel.cs │ │ │ └── EntitySetAggregationTests.cs │ │ ├── Enums │ │ │ ├── EnumsAliasTest.cs │ │ │ ├── EnumsController.cs │ │ │ ├── EnumsDataModel.cs │ │ │ ├── EnumsEdmModel.cs │ │ │ └── EnumsTest.cs │ │ ├── ForeignKey │ │ │ ├── ForeignKeyContext.cs │ │ │ ├── ForeignKeyEdmModel.cs │ │ │ ├── ForeignKeyModel.cs │ │ │ ├── ForeignKeyTest.cs │ │ │ └── ForeignkeyController.cs │ │ ├── Formatter │ │ │ ├── BaseAddressFactoryTest.cs │ │ │ ├── CollectionPropertyTests.cs │ │ │ ├── ComplexTypeTests.cs │ │ │ ├── DeltaTests.cs │ │ │ ├── DeserializationAndSerializationTests.cs │ │ │ ├── ErrorMessagesTests.cs │ │ │ ├── Extensibility │ │ │ │ ├── SerializeEntityReferenceLinks.cs │ │ │ │ └── SupportDollarValue.cs │ │ │ ├── HttpAndODataErrorTests.cs │ │ │ ├── InheritanceTests.cs │ │ │ ├── JsonLight │ │ │ │ ├── HttpAndODataErrorTests.cs │ │ │ │ ├── JsonLightCollectionPropertyTests.cs │ │ │ │ ├── JsonLightComplexTypeTests.cs │ │ │ │ ├── JsonLightConfigurator.cs │ │ │ │ ├── JsonLightDeltaTests.cs │ │ │ │ ├── JsonLightDeserializationAndSerializationTests.cs │ │ │ │ ├── JsonLightInheritanceTests.cs │ │ │ │ ├── JsonLightMixScenarioTests.cs │ │ │ │ ├── JsonLightRandomModelTests.cs │ │ │ │ └── Metadata │ │ │ │ │ ├── ActionMetadataTests.cs │ │ │ │ │ ├── ComplexTypeTests.cs │ │ │ │ │ ├── Controllers │ │ │ │ │ ├── BaseEntityController.cs │ │ │ │ │ ├── EntityWithComplexPropertiesController.cs │ │ │ │ │ ├── EntityWithSimplePropertiesController.cs │ │ │ │ │ ├── OneToOneChildController.cs │ │ │ │ │ ├── OneToOneParentController.cs │ │ │ │ │ └── StubEntityController.cs │ │ │ │ │ ├── CustomConventionActionMetadataTests.cs │ │ │ │ │ ├── EntryMetadataTests.cs │ │ │ │ │ ├── Extensions │ │ │ │ │ ├── HttpRequestMessageExtensions.cs │ │ │ │ │ └── ReflectedPropertyRoutingConvention.cs │ │ │ │ │ ├── FeedMetadataTests.cs │ │ │ │ │ ├── MetadataTestHelpers.cs │ │ │ │ │ ├── MinimalMetadataSpecificTests.cs │ │ │ │ │ ├── Model │ │ │ │ │ ├── BaseEntity.cs │ │ │ │ │ ├── ComplexType.cs │ │ │ │ │ ├── DerivedEntity.cs │ │ │ │ │ ├── EntityWithComplexProperties.cs │ │ │ │ │ ├── EntityWithSimpleProperties.cs │ │ │ │ │ ├── OneToOneChild.cs │ │ │ │ │ ├── OneToOneParent.cs │ │ │ │ │ ├── SimpleEnumeration.cs │ │ │ │ │ └── StubEntity.cs │ │ │ │ │ └── PrimitiveTypesMetadataTests.cs │ │ │ ├── MixScenarioTests.cs │ │ │ ├── ODataFeedSerializeWithoutNavigationSourceTests.cs │ │ │ ├── ODataFormatterTestBase.cs │ │ │ ├── ODataResultTests.cs │ │ │ ├── RandomModelTests.cs │ │ │ ├── SecurityTests.cs │ │ │ ├── ServerDrivenPagingTests.cs │ │ │ ├── SupportMediaTypesTests.cs │ │ │ └── Untyped │ │ │ │ ├── UntypedDeltaSerializationTests.cs │ │ │ │ └── UntypedSerializationTests.cs │ │ ├── LowerCamelCase │ │ │ ├── LowerCamelCaseController.cs │ │ │ ├── LowerCamelCaseDataModel.cs │ │ │ ├── LowerCamelCaseEdmModel.cs │ │ │ └── LowerCamelCaseTest.cs │ │ ├── MediaTypes │ │ │ ├── MediaTypesModels.cs │ │ │ ├── MediaTypesOrdersController.cs │ │ │ └── MediaTypesTests.cs │ │ ├── ModelAliasing │ │ │ ├── FormattersTests.cs │ │ │ ├── GeneratedConventionModelClient.cs │ │ │ ├── MetadataTests.cs │ │ │ ├── Model.cs │ │ │ └── QueryTests.cs │ │ ├── ModelBoundQuerySettings │ │ │ ├── CombinedTest │ │ │ │ ├── CombinedController.cs │ │ │ │ ├── CombinedEdmModel.cs │ │ │ │ └── CombinedTest.cs │ │ │ ├── CountAttributeTest │ │ │ │ ├── CountAtrributeController.cs │ │ │ │ ├── CountAttributeEdmModel.cs │ │ │ │ └── CountAttributeTest.cs │ │ │ ├── ExpandAttributeTest │ │ │ │ ├── ExpandAtrributeController.cs │ │ │ │ ├── ExpandAttributeEdmModel.cs │ │ │ │ └── ExpandAttributeTest.cs │ │ │ ├── FilterAttributeTest │ │ │ │ ├── FilterAtrributeController.cs │ │ │ │ ├── FilterAttributeEdmModel.cs │ │ │ │ └── FilterAttributeTest.cs │ │ │ ├── OrderByAttributeTest │ │ │ │ ├── OrderByAtrributeController.cs │ │ │ │ ├── OrderByAttributeEdmModel.cs │ │ │ │ └── OrderByAttributeTest.cs │ │ │ ├── PageAttributeTest │ │ │ │ ├── PageAttributeController.cs │ │ │ │ ├── PageAttributeEdmModel.cs │ │ │ │ ├── PageAttributeTest.cs │ │ │ │ ├── SkipTokenController.cs │ │ │ │ ├── SkipTokenEdmModel.cs │ │ │ │ └── SkipTokenTest.cs │ │ │ └── SelectAttributeTest │ │ │ │ ├── SelectAttributeController.cs │ │ │ │ ├── SelectAttributeEdmModel.cs │ │ │ │ └── SelectAttributeTest.cs │ │ ├── ModelBuilder │ │ │ ├── ActionMetadataTests.cs │ │ │ ├── AttributeConventionModelBuilderTests.cs │ │ │ ├── ConditionalLinkGenerationTests.cs │ │ │ ├── ExplicitModelBuilderTests.cs │ │ │ ├── ImplicitModelBuilderTests.cs │ │ │ ├── InheritanceTests.cs │ │ │ ├── MultipleEntitySetOnSameClrTypeTests.cs │ │ │ ├── ODataActionTests.cs │ │ │ ├── ODataActionTestsProxyGeneratedCode.cs │ │ │ ├── ODataMessageWrapper.cs │ │ │ ├── PropertyTests.cs │ │ │ ├── RecursiveComplexTypesE2ETests.cs │ │ │ ├── RecursiveComplexTypesModels.cs │ │ │ ├── SpecialCharactersLinkGenerationTests.cs │ │ │ ├── SpecialPrimaryKeyTypesInLinkGenerationTests.cs │ │ │ └── UnicodeLinkGenerationTests.cs │ │ ├── NavigationPropertyOnComplexType │ │ │ ├── NavigationPropertyOnComplexTypeModel.cs │ │ │ ├── NavigationPropertyOnComplexTypeTests.cs │ │ │ ├── PeopleController.cs │ │ │ ├── PeopleRepository.cs │ │ │ └── SelectImprovementOnComplexTypeTests.cs │ │ ├── ODataCountTest │ │ │ ├── CountController.cs │ │ │ ├── CountDataModel.cs │ │ │ ├── CountEdmModel.cs │ │ │ └── CountTest.cs │ │ ├── ODataHelper.cs │ │ ├── ODataOrderByTest │ │ │ ├── OrderByController.cs │ │ │ ├── OrderByDataModel.cs │ │ │ ├── OrderByEdmModel.cs │ │ │ └── OrderByTest.cs │ │ ├── ODataPathHandler │ │ │ ├── LinkGenerationTests.cs │ │ │ └── UnicodeRouteTests.cs │ │ ├── ODataPathHandlerExtensions.cs │ │ ├── OpenType │ │ │ ├── OpenTypeControllers.cs │ │ │ ├── OpenTypeDataModel.cs │ │ │ ├── OpenTypeEdmModel.cs │ │ │ ├── TypedClient.cs │ │ │ ├── TypedClient.tt │ │ │ ├── TypedClient.ttinclude │ │ │ ├── TypedMetadata.csdl.xml │ │ │ ├── TypedServiceReference.cs │ │ │ ├── TypedServiceReferenceForOpenType.cs │ │ │ └── TypedTest.cs │ │ ├── ParameterAlias │ │ │ ├── ParameterAliasDataSource.cs │ │ │ └── ParameterAliasTest.cs │ │ ├── QueryComposition │ │ │ ├── AnonymousTypeTests.cs │ │ │ ├── ComplextTypeCollectionTests.cs │ │ │ ├── Controllers │ │ │ │ ├── FilterTestsController.cs │ │ │ │ └── TopSkipOrderByTestsController.cs │ │ │ ├── EFWideCustomer.cs │ │ │ ├── EFWideCustomer.tt │ │ │ ├── EnumTypeTests.cs │ │ │ ├── FilterTests.cs │ │ │ ├── Fuzzing │ │ │ │ ├── FuzzingController.cs │ │ │ │ ├── Models.cs │ │ │ │ └── QueryBuilder.cs │ │ │ ├── GlobalQueryableFilterTests.cs │ │ │ ├── InheritanceQueryableTests.cs │ │ │ ├── InvalidQueryTests.cs │ │ │ ├── IsOf │ │ │ │ ├── IsOfController.cs │ │ │ │ ├── IsOfModels.cs │ │ │ │ ├── IsofDataSource.cs │ │ │ │ ├── IsofEdmModel.cs │ │ │ │ └── IsofFunctionTests.cs │ │ │ ├── JsonSelectExpandTests.cs │ │ │ ├── JsonSingleResultSelectExpandTests.cs │ │ │ ├── JsonpQueryableTests.cs │ │ │ ├── NestedClassTests.cs │ │ │ ├── ODataQueryOptionsTests.cs │ │ │ ├── OrderByTests.cs │ │ │ ├── PrimitiveTypesTests.cs │ │ │ ├── QueryFuzzingTests.cs │ │ │ ├── SecurityTests.cs │ │ │ ├── SelectExpandEFTests.cs │ │ │ ├── SelectExpandTests.cs │ │ │ ├── SelectTypeExplosionTests.cs │ │ │ ├── ServerTypeTests.cs │ │ │ ├── SingleResultSelectExpandTests.cs │ │ │ ├── StableOrderTests.cs │ │ │ ├── TopSkipOrderByTests.cs │ │ │ ├── UriParserTests.cs │ │ │ └── ValidatorTests.cs │ │ ├── Routing │ │ │ ├── ActionRoutingConventionTests.cs │ │ │ ├── AddRelatedObjectTests.cs │ │ │ ├── AttributeRoutingTests.cs │ │ │ ├── DynamicProperties │ │ │ │ ├── DynamicPropertiesController.cs │ │ │ │ ├── DynamicPropertiesModel.cs │ │ │ │ └── DynamicPropertiesTest.cs │ │ │ ├── ODataRouteTests.cs │ │ │ ├── ODataValueProviderTests.cs │ │ │ ├── RefRoutingConventionTests.cs │ │ │ └── UnqualifiedNameCallRoutingTests.cs │ │ ├── ServerSidePaging │ │ │ ├── ServerSidePagingControllers.cs │ │ │ ├── ServerSidePagingDataModel.cs │ │ │ ├── ServerSidePagingDataSource.cs │ │ │ └── ServerSidePagingTests.cs │ │ ├── SingleResult │ │ │ ├── SingleResultController.cs │ │ │ ├── SingleResultDataModel.cs │ │ │ ├── SingleResultEdmModel.cs │ │ │ └── SingleResultTests.cs │ │ ├── Singleton │ │ │ ├── MonstersIncController.cs │ │ │ ├── ODataClient.cs │ │ │ ├── ODataClient.odata.config │ │ │ ├── ODataClient.tt │ │ │ ├── PartnersController.cs │ │ │ ├── SingletonClientTest.cs │ │ │ ├── SingletonDataModel.cs │ │ │ ├── SingletonEdmModel.cs │ │ │ ├── SingletonTest.cs │ │ │ └── UmbrellaController.cs │ │ ├── Spatial │ │ │ ├── SpatialController.cs │ │ │ ├── SpatialEdmModel.cs │ │ │ ├── SpatialFactory.cs │ │ │ ├── SpatialModels.cs │ │ │ └── SpatialTests.cs │ │ ├── Swagger │ │ │ ├── SwaggerController.cs │ │ │ ├── SwaggerMetadataTest.cs │ │ │ ├── SwaggerPathHandler.cs │ │ │ ├── SwaggerPathSegment.cs │ │ │ └── SwaggerRoutingConvention.cs │ │ ├── SxS │ │ │ ├── ODataV3 │ │ │ │ ├── Controllers │ │ │ │ │ ├── PartsController.cs │ │ │ │ │ └── ProductsController.cs │ │ │ │ ├── Extensions │ │ │ │ │ └── ODataVersionRouteConstraint.cs │ │ │ │ ├── Models │ │ │ │ │ ├── ModelBuilder.cs │ │ │ │ │ ├── Part.cs │ │ │ │ │ └── Product.cs │ │ │ │ └── ODataV3WebApiConfig.cs │ │ │ ├── ODataV4 │ │ │ │ ├── Controllers │ │ │ │ │ ├── PartsV2Controller.cs │ │ │ │ │ └── ProductsV2Controller.cs │ │ │ │ ├── Extensions │ │ │ │ │ ├── EntitySetVersioningRoutingConvention.cs │ │ │ │ │ └── ODataVersionRouteConstraint.cs │ │ │ │ ├── Models │ │ │ │ │ ├── ModelBuilder.cs │ │ │ │ │ ├── Part.cs │ │ │ │ │ └── Product.cs │ │ │ │ └── ODataV4WebApiConfig.cs │ │ │ └── SxSODataV3AndV4Test.cs │ │ ├── SxS2 │ │ │ ├── ODataV3 │ │ │ │ ├── Controllers │ │ │ │ │ └── ProductsController.cs │ │ │ │ ├── Extensions │ │ │ │ │ └── ODataVersionRouteConstraint.cs │ │ │ │ ├── Models │ │ │ │ │ ├── ModelBuilder.cs │ │ │ │ │ └── Product.cs │ │ │ │ └── ODataV3WebApiConfig.cs │ │ │ ├── ODataV4 │ │ │ │ ├── Controllers │ │ │ │ │ └── ProductsV2Controller.cs │ │ │ │ ├── Extensions │ │ │ │ │ └── ODataVersionRouteConstraint.cs │ │ │ │ ├── Models │ │ │ │ │ ├── ModelBuilder.cs │ │ │ │ │ └── Product.cs │ │ │ │ └── ODataV4WebApiConfig.cs │ │ │ └── SxSODataV3AndV4Test.cs │ │ ├── UnboundOperation │ │ │ ├── UnboundOperationController.cs │ │ │ ├── UnboundOperationDataModel.cs │ │ │ ├── UnboundOperationEdmModel.cs │ │ │ └── UnboundOperationTest.cs │ │ ├── UriParserExtension │ │ │ ├── CaseInsensitiveResolver.cs │ │ │ ├── CaseInsensitiveTest.cs │ │ │ ├── EnumPrefixFreeTest.cs │ │ │ ├── UnqualifiedCallTest.cs │ │ │ ├── UriParserExtensionDataModel.cs │ │ │ ├── UriParserExtenstionController.cs │ │ │ ├── UriParserExtenstionEdmModel.cs │ │ │ └── UriResolverDependencyTestWithOldDefaultConfig.cs │ │ └── Validation │ │ │ └── DeltaOfTValidationTests.cs │ └── Relaxed.ruleset.txt ├── PerfTest │ ├── Settings.StyleCop │ ├── WebApiPerformance.Service │ │ ├── App_Start │ │ │ └── WebApiConfig.cs │ │ ├── Controllers │ │ │ ├── ODataClrController.cs │ │ │ ├── ODataEdmController.cs │ │ │ └── WebApiJsonController.cs │ │ ├── Global.asax │ │ ├── Global.asax.cs │ │ ├── Models │ │ │ ├── TestRepo.cs │ │ │ └── Types.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Views │ │ │ └── web.config │ │ ├── Web.config │ │ ├── WebApiPerformance.Service.csproj │ │ └── packages.config │ └── WebApiPerformance.Test │ │ ├── Common │ │ └── TestServiceFixture.cs │ │ ├── CustomerTest.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ ├── WebApiPerformance.Test.csproj │ │ ├── app.config │ │ └── packages.config ├── Relaxed.ruleset └── UnitTest │ ├── Microsoft.AspNet.OData.Test.Shared │ ├── ApplyTest.cs │ ├── Batch │ │ ├── ChangeSetRequestItemTest.cs │ │ ├── ChangeSetResponseItemTest.cs │ │ ├── DefaultODataBatchHandlerTest.cs │ │ ├── MockHttpRequestMessage.cs │ │ ├── MockHttpResponseMessage.cs │ │ ├── MockHttpServer.cs │ │ ├── ODataBatchContentTest.cs │ │ ├── ODataBatchHttpRequestMessageExtensionsTest.cs │ │ ├── ODataBatchMiddlewareTests.cs │ │ ├── ODataBatchReaderExtensionsTest.cs │ │ ├── ODataBatchRequestHelper.cs │ │ ├── ODataBatchRequestItemTest.cs │ │ ├── ODataBatchResponseItemTest.cs │ │ ├── ODataHttpContentExtensions.cs │ │ ├── ODataHttpContentExtensionsTest.cs │ │ ├── OperationRequestItemTest.cs │ │ ├── OperationResponseItemTest.cs │ │ └── UnbufferedODataBatchHandlerTest.cs │ ├── Builder │ │ ├── ActionConfigurationTest.cs │ │ ├── BindableOperationFinderAnnotationTest.cs │ │ ├── BindingPathConfigurationOfTStructuralTypeTest.cs │ │ ├── BindingPathHelperTest.cs │ │ ├── CollectionPropertyConfigurationTest.cs │ │ ├── ComplexTypeConfigurationTest.cs │ │ ├── ComplexTypeTest.cs │ │ ├── ContainmentPathBuilderTest.cs │ │ ├── Conventions │ │ │ ├── ActionLinkGenerationConventionTest.cs │ │ │ ├── AssociationSetDiscoveryConventionTest.cs │ │ │ ├── Attributes │ │ │ │ ├── ActionOnDeleteAttributeConventionTest.cs │ │ │ │ ├── AttributeConventionTests.cs │ │ │ │ ├── AttributeEdmPropertyConventionTests.cs │ │ │ │ ├── AttributeEdmTypeConventionTests.cs │ │ │ │ ├── ColumnAttributeEdmPropertyConventionTest.cs │ │ │ │ ├── ComplexTypeAttributeConventionTests.cs │ │ │ │ ├── ConcurrencyCheckAttributeEdmPropertyConventionTest.cs │ │ │ │ ├── DataContractAttributeEdmTypeConventionTests.cs │ │ │ │ ├── DataMemberAttributeEdmPropertyConventionTest.cs │ │ │ │ ├── DefaultValueAttributeEdmPropertyConventionTests.cs │ │ │ │ ├── ForeignKeyAttributeConventionTest.cs │ │ │ │ ├── IgnoreDataMemberAttributeEdmPropertyConventionTests.cs │ │ │ │ ├── KeyAttributeEdmPropertyConventionTests.cs │ │ │ │ ├── NotMappedAttributeConventionTests.cs │ │ │ │ ├── RequiredAttributeEdmPropertyConventionTests.cs │ │ │ │ └── TimestampAttributeEdmPropertyConventionTests.cs │ │ │ ├── ConventionsHelpersTests.cs │ │ │ ├── EntityKeyConventionTests.cs │ │ │ ├── ForeignKeyDiscoveryConventionTest.cs │ │ │ ├── FunctionLinkGenerationConventionTest.cs │ │ │ ├── NavigationLinksGenerationConventionTest.cs │ │ │ ├── ODataConventionModelBuilderTests.cs │ │ │ ├── RecursiveComplexTypesModels.cs │ │ │ ├── RecursiveComplexTypesTests.cs │ │ │ └── SelfLinksGenerationConventionTest.cs │ │ ├── DynamicPropertyDictionaryAnnotationTest.cs │ │ ├── EdmModelAsserts.cs │ │ ├── EdmTypeConfigurationExtensionsTest.cs │ │ ├── EntitySetConfigurationTest.cs │ │ ├── EntitySetLinkConfigurationTest.cs │ │ ├── EntitySetTest.cs │ │ ├── EntityTypeTest.cs │ │ ├── EnumTypeTest.cs │ │ ├── FunctionConfigurationTest.cs │ │ ├── LinkGenerationHelpersTest.cs │ │ ├── LowerCamelCaserTest.cs │ │ ├── MetadataTest.cs │ │ ├── MockNavigationSourceLinkBuilderAnnotation.cs │ │ ├── NavigationPropertyConfigurationTest.cs │ │ ├── NavigationSourceLinkBuilderAnnotationTest.cs │ │ ├── ODataConventionModelBuilderHelper.cs │ │ ├── ODataModelBuilderTest.cs │ │ ├── ODataUtilsLearningTests.cs │ │ ├── OperationLinkBuilderTests.cs │ │ ├── ParameterConfigurationTest.cs │ │ ├── PrimitivePropertyConfigurationExtensionsTest.cs │ │ ├── PrimitiveTypeTest.cs │ │ ├── ProgrammableBuilderApiTest.cs │ │ ├── PropertyConfigurationTest.cs │ │ ├── PropertyPairSelectorVisitorTest.cs │ │ ├── PropertySelectorVisitorTest.cs │ │ ├── SingletonConfigurationTest.cs │ │ ├── SingletonLinkConfigurationTest.cs │ │ ├── SingletonTest.cs │ │ ├── StructuralTypeConfigurationOfTStructuralTypeTest.cs │ │ ├── StructuralTypeConfigurationTest.cs │ │ └── TestModels │ │ │ ├── Address.cs │ │ │ ├── Client.cs │ │ │ ├── Color.cs │ │ │ ├── Company.cs │ │ │ ├── Customer.cs │ │ │ ├── DateTimeModel.cs │ │ │ ├── DecimalScaleTestEntity.cs │ │ │ ├── Employee.cs │ │ │ ├── EnumModel.cs │ │ │ ├── Gift.cs │ │ │ ├── InheritanceModels.cs │ │ │ ├── ModelAlias.cs │ │ │ ├── MyOrder.cs │ │ │ ├── MySpecialOrder.cs │ │ │ ├── Order.cs │ │ │ ├── OrderCancellation.cs │ │ │ ├── OrderHeader.cs │ │ │ ├── OrderItem.cs │ │ │ ├── OrderItemDetail.cs │ │ │ ├── OrderLine.cs │ │ │ ├── PropertyAlias.cs │ │ │ ├── RecursiveModel.cs │ │ │ ├── SpecialOrderLine.cs │ │ │ └── ZipCode.cs │ ├── ClrPropertyInfoAnnotationTest.cs │ ├── Common │ │ ├── CultureReplacer.cs │ │ ├── DataAttribute.cs │ │ ├── EnumHelperTestBase.cs │ │ ├── ExceptionAssert.cs │ │ ├── MediaTypeHeaderValueComparer.cs │ │ ├── MemberHelper.cs │ │ ├── MockAssembly.cs │ │ ├── MockPropertyInfo.cs │ │ ├── MockType.cs │ │ ├── ParsedMediaTypeHeaderValue.cs │ │ ├── Platform.cs │ │ ├── PlatformInfo.cs │ │ ├── PortReserver.cs │ │ ├── PreAppStartTestHelper.cs │ │ ├── ReflectionAssert.cs │ │ ├── ReplaceCultureAttribute.cs │ │ ├── StreamAssert.cs │ │ ├── TaskExtensions.cs │ │ ├── TestFile.cs │ │ ├── TestHelper.cs │ │ ├── TheoryDataSet.cs │ │ ├── TypeAssert.cs │ │ ├── Types │ │ │ ├── ByteEnum.cs │ │ │ ├── FlagsEnum.cs │ │ │ ├── INameAndIdContainer.cs │ │ │ ├── LongEnum.cs │ │ │ ├── SByteEnum.cs │ │ │ ├── ShortEnum.cs │ │ │ ├── SimpleEnum.cs │ │ │ ├── UIntEnum.cs │ │ │ └── UShortEnum.cs │ │ └── VersionTestHelper.cs │ ├── ContentIdHelpersTest.cs │ ├── ContextUtil.cs │ ├── DateAndTimeOfDayTest.cs │ ├── DateTimeTest.cs │ ├── DecimalTest.cs │ ├── DefaultContainerBuilderTests.cs │ ├── DeltaSetOfTTest.cs │ ├── DeltaTest.cs │ ├── DependencyInjectionTests.cs │ ├── DollarFormatTest.cs │ ├── ETagMessageHandlerTest.cs │ ├── EdmChangedObjectCollectionTest.cs │ ├── EdmComplexCollectionObjectTest.cs │ ├── EdmDeltaCollectionTypeTest.cs │ ├── EdmDeltaComplexObjectTest.cs │ ├── EdmDeltaTypeTest.cs │ ├── EdmEntityCollectionObjectTest.cs │ ├── EdmEnumObjectCollectionTest.cs │ ├── EdmEnumObjectTest.cs │ ├── EdmModelExtensionsTest.cs │ ├── EdmStructuredObjectTest.cs │ ├── EdmTypeExtensionsTest.cs │ ├── EnableNestedPathsTest.cs │ ├── EnableQueryTests.cs │ ├── EnumDeserializerTest.cs │ ├── EnumSerializerTest.cs │ ├── Extensions │ │ ├── HttpContentExtensions.cs │ │ ├── IHeaderDictionaryExtensions.cs │ │ └── RoutingConfigurationExtensions.cs │ ├── FastPropertyAccessorTest.cs │ ├── Formatter │ │ ├── ClrTypeCacheTest.cs │ │ ├── CollectionsTests.cs │ │ ├── DefaultODataETagHandlerTests.cs │ │ ├── Deserialization │ │ │ ├── CollectionDeserializationHelpersTest.cs │ │ │ ├── DefaultODataDeserializerProviderTests.cs │ │ │ ├── DeserializationHelpersTest.cs │ │ │ ├── HttpRequestODataMessage.cs │ │ │ ├── MockODataRequestMessage.cs │ │ │ ├── ODataActionPayloadDeserializerTest.cs │ │ │ ├── ODataCollectionDeserializerTests.cs │ │ │ ├── ODataDeserializationTestsCommon.cs │ │ │ ├── ODataDeserializerContextTest.cs │ │ │ ├── ODataDeserializerTest.cs │ │ │ ├── ODataEdmTypeDeserializerTest.cs │ │ │ ├── ODataEntityReferenceLinkDeserializerTests.cs │ │ │ ├── ODataEnumDeserializerTests.cs │ │ │ ├── ODataMessageReaderLearningTests.cs │ │ │ ├── ODataPrimitiveDeserializerTests.cs │ │ │ ├── ODataReaderExtensionsTests.cs │ │ │ ├── ODataResourceDeserializerTests.cs │ │ │ ├── ODataResourceSetDeserializerTest.cs │ │ │ └── ODataSingletonDeserializerTest.cs │ │ ├── ETagOfTEntityTypeTests.cs │ │ ├── ETagTests.cs │ │ ├── EdmLibHelpersTests.cs │ │ ├── EdmPrimitiveHelpersTest.cs │ │ ├── InheritanceTests.cs │ │ ├── JsonAssert.cs │ │ ├── NullCollectionsTests.cs │ │ ├── ODataActionTests.cs │ │ ├── ODataEntityReferenceLinkTests.cs │ │ ├── ODataFormatterTests.cs │ │ ├── ODataFunctionTests.cs │ │ ├── ODataMediaTypeFormatterTests.cs │ │ ├── ODataMediaTypeFormattersTests.cs │ │ ├── ODataMediaTypesTest.cs │ │ ├── ODataMessageWrapperTest.cs │ │ ├── ODataModelBinderConverterTests.cs │ │ ├── ODataModelBinderProviderTest.cs │ │ ├── ODataRawValueMediaTypeMappingTests.cs │ │ ├── ODataTestUtil.cs │ │ ├── ODataValueExtensionsTest.cs │ │ ├── PeopleController.cs │ │ ├── PresidentController.cs │ │ ├── PrimitiveTypesTest.cs │ │ └── Serialization │ │ │ ├── CollectionTest.cs │ │ │ ├── ComplexTypeTest.cs │ │ │ ├── DefaultODataSerializerProviderTests.cs │ │ │ ├── EdmDirectValueAnnotationsManagerExtensions.cs │ │ │ ├── EdmEntityObjectTest.cs │ │ │ ├── EntityTypeTest.cs │ │ │ ├── Models │ │ │ ├── Address.cs │ │ │ ├── Customer.cs │ │ │ └── Order.cs │ │ │ ├── ODataCollectionSerializerTests.cs │ │ │ ├── ODataDeltaFeedSerializerTests.cs │ │ │ ├── ODataEdmTypeSerializerTest.cs │ │ │ ├── ODataEntityReferenceLinkSerializerTest.cs │ │ │ ├── ODataEntityReferenceLinksSerializerTest.cs │ │ │ ├── ODataEnumTypeSerializerTests.cs │ │ │ ├── ODataErrorSerializerTest.cs │ │ │ ├── ODataMessageWriterLearningTests.cs │ │ │ ├── ODataMetadataSerializerTest.cs │ │ │ ├── ODataPayloadKindHelperTests.cs │ │ │ ├── ODataPrimitiveSerializerTests.cs │ │ │ ├── ODataRawValueSerializerTests.cs │ │ │ ├── ODataResourceSerializerTests.cs │ │ │ ├── ODataResourceSetSerializerTests.cs │ │ │ ├── ODataSerializerContextTest.cs │ │ │ ├── ODataSerializerTest.cs │ │ │ ├── ODataServiceDocumentSerializerTest.cs │ │ │ ├── ODataSingletonSerializerTest.cs │ │ │ ├── ResourceSetTest.cs │ │ │ ├── SelectExpandNodeTest.cs │ │ │ ├── SerializationTestsHelpers.cs │ │ │ └── TestODataMetadataLevel.cs │ ├── FromODataUriTest.cs │ ├── FunctionActionAdvertisedTest.cs │ ├── HttpConfigurationExtensions.cs │ ├── HttpConfigurationExtensionsTest.cs │ ├── HttpErrorExtensionsTest.cs │ ├── HttpRequestMessageExtensionsTest.cs │ ├── HttpRouteCollectionExtensionsTest.cs │ ├── MetadataControllerTest.cs │ ├── Microsoft.AspNet.OData.Test.Shared.projitems │ ├── Microsoft.AspNet.OData.Test.Shared.shproj │ ├── NullEdmComplexObjectTest.cs │ ├── ODataActionParametersTest.cs │ ├── ODataContainmentTest.cs │ ├── ODataFormattingAttributeTest.cs │ ├── ODataNullValueMessageHandlerTest.cs │ ├── ODataPathExtensionsTest.cs │ ├── ODataPathHandlerExtensions.cs │ ├── ODataPathHelperTest.cs │ ├── ODataRoutingAttributeTest.cs │ ├── ODataSingletonTest.cs │ ├── ODataStreamPropertyTest.cs │ ├── ODataSwaggerConverterTest.cs │ ├── ODataSwaggerUtilitiesTest.cs │ ├── ODataUriResolverExtensionTest.cs │ ├── OpenComplexTypeTest.cs │ ├── OpenEntityTypeTest.cs │ ├── PageResultOfTTest.cs │ ├── PerRequestActionValueBinderTest.cs │ ├── PerRequestContentNegotiatorTest.cs │ ├── PerRequestParameterBindingTest.cs │ ├── PublicApi │ │ ├── PublicApiHelper.cs │ │ └── PublicApiTest.cs │ ├── Query │ │ ├── AllowedArithmeticOperatorsTest.cs │ │ ├── AllowedFunctionsTest.cs │ │ ├── AllowedLogicalOperatorsTest.cs │ │ ├── AllowedQueryOptionsTest.cs │ │ ├── ApplyQueryOptionTest.cs │ │ ├── Controllers │ │ │ ├── CustomerControllers.cs │ │ │ └── PrimitiveController.cs │ │ ├── CountQueryOptionTest.cs │ │ ├── DefaultSkipTokenHandlerTests.cs │ │ ├── EnableQueryAttributeTest.cs │ │ ├── ExpandModelPathTests.cs │ │ ├── ExpandQueryBuilderTest.cs │ │ ├── ExpressionHelpersTest.cs │ │ ├── Expressions │ │ │ ├── AggregationBinderTests.cs │ │ │ ├── DataModel.cs │ │ │ ├── DynamicTypeWrapperTests.cs │ │ │ ├── ExpressionStringBuilder.cs │ │ │ ├── FilterBinderTests.cs │ │ │ ├── Linq2ObjectsComparisonMethodsTest.cs │ │ │ ├── LinqParameterContainerTest.cs │ │ │ ├── ModelContainerTest.cs │ │ │ ├── PropertyContainerTest.cs │ │ │ ├── SelectExpandBinderTest.cs │ │ │ ├── SelectExpandIncludePropertyTest.cs │ │ │ ├── SelectExpandIncludedPropertyTest.cs │ │ │ ├── SelectExpandPathExtensionsTest.cs │ │ │ ├── SelectExpandWrapperJsonConverterTests.cs │ │ │ ├── SelectExpandWrapperTest.cs │ │ │ └── UriFunctionBinderTests.cs │ │ ├── FilterQueryOptionTest.cs │ │ ├── HandleNullPropagationOptionHelperTest.cs │ │ ├── HttpActionDescriptorExtensionTests.cs │ │ ├── ODataPathQueryBuilderTest.cs │ │ ├── ODataQueryContextTests.cs │ │ ├── ODataQueryOptionParserExtensionTest.cs │ │ ├── ODataQueryOptionTest.cs │ │ ├── ODataQueryOptionsOfTEntityTest.cs │ │ ├── ODataQueryParameterBindingAttributeTests.cs │ │ ├── ODataQuerySettingsTest.cs │ │ ├── ODataSingletonQueryOptionTest.cs │ │ ├── ODataValidationSettingsTest.cs │ │ ├── OrderByPropertyNodeTest.cs │ │ ├── OrderByQueryOptionTest.cs │ │ ├── ParameterAliasNodeTranslatorTest.cs │ │ ├── PlainTextODataQueryOptionsParserTest.cs │ │ ├── QueryCompositionControllers.cs │ │ ├── QueryCompositionTests.cs │ │ ├── QueryableFilterProviderTest.cs │ │ ├── SelectExpandQueryOptionTest.cs │ │ ├── SelectModelPathTests.cs │ │ ├── SkipQueryOptionTests.cs │ │ ├── TopQueryOptionTests.cs │ │ ├── TruncatedCollectionTest.cs │ │ └── Validators │ │ │ ├── CountQueryValidatorTest.cs │ │ │ ├── FilterQueryValidatorTest.cs │ │ │ ├── ODataQueryValidatorTest.cs │ │ │ ├── OrderByQueryValidatorTest.cs │ │ │ ├── SelectExpandQueryValidatorTest.cs │ │ │ ├── SkipQueryValidatorTest.cs │ │ │ ├── TopQueryValidatorTest.cs │ │ │ └── ValidationTestHelper.cs │ ├── QueryableLimitationTest.cs │ ├── ResourceContextTest.cs │ ├── Resources.cs │ ├── Resources │ │ ├── ArrayOfBoolean.json │ │ ├── ArrayOfByteFullMetadata.json │ │ ├── ArrayOfByteInXml.xml │ │ ├── ArrayOfInt32.json │ │ ├── BooleanFullMetadata.json │ │ ├── ByteFullMetadata.json │ │ ├── CollectionOfPerson.json │ │ ├── DateFullMetadata.json │ │ ├── DateTimeOffsetFullMetadata.json │ │ ├── DecimalFullMetadata.json │ │ ├── DoubleFullMetadata.json │ │ ├── EmployeeEntry.json │ │ ├── EntityNavigationToSingletonFullMetadata.json │ │ ├── FeedOfEmployee.json │ │ ├── GuidFullMetadata.json │ │ ├── Int16FullMetadata.json │ │ ├── Int32FullMetadata.json │ │ ├── Int64FullMetadata.json │ │ ├── ListOfString.json │ │ ├── MainEntryFeedInJsonFullMetadata.json │ │ ├── MainEntryFeedInJsonNoMetadata.json │ │ ├── MetadataWithSingleton.xml │ │ ├── NullableBooleanFullMetadata.json │ │ ├── NullableInt32FullMetadata.json │ │ ├── NullableInt32NoMetadata.json │ │ ├── PeopleWithAllAnnotations.json │ │ ├── PeopleWithMultipleAnnotations.json │ │ ├── PeopleWithSpecialAnnotations.json │ │ ├── PeopleWithoutAnnotations.json │ │ ├── PersonComplexType.json │ │ ├── PersonEntryInJsonFullMetadata.json │ │ ├── PersonEntryInJsonLight.json │ │ ├── PersonEntryInJsonLightFullMetadata.json │ │ ├── PersonEntryInJsonLightMinimalMetadata.json │ │ ├── PersonEntryInJsonLightNoMetadata.json │ │ ├── PersonEntryInPlainOldJson.json │ │ ├── PersonRequestEntryInPlainOldJson.json │ │ ├── PresidentInJsonLightFullMetadata.json │ │ ├── PresidentInJsonLightMinimalMetadata.json │ │ ├── PresidentInJsonLightNoMetadata.json │ │ ├── ProductRequestEntry.json │ │ ├── ProductsCsdl.xml │ │ ├── SByteFullMetadata.json │ │ ├── SingleFullMetadata.json │ │ ├── SingletonNavigationToEntitysetFullMetadata.json │ │ ├── SingletonSelectAndExpand.json │ │ ├── StringFullMetadata.json │ │ ├── StringNoMetadata.json │ │ ├── SupplierPatch.json │ │ ├── SupplierRequestEntry.json │ │ ├── TimeOfDayFullMetadata.json │ │ ├── TimeSpanFullMetadata.json │ │ └── WorkItemEntry.json │ ├── Results │ │ ├── CreatedODataResultTest.cs │ │ ├── ResultHelpersTest.cs │ │ └── UpdatedODataResultTest.cs │ ├── Routing │ │ ├── AttributeRoutingOnSingletonTest.cs │ │ ├── AttributeRoutingTest.cs │ │ ├── AttributeRoutingUnboundTest.cs │ │ ├── Conventions │ │ │ ├── ActionRoutingConventionTest.cs │ │ │ ├── AttributeRoutingConventionTest.cs │ │ │ ├── DynamicPropertyRoutingConventionTest.cs │ │ │ ├── EntityRoutingConventionTest.cs │ │ │ ├── EntitySetRoutingConventionTest.cs │ │ │ ├── FunctionRoutingConventionTests.cs │ │ │ ├── MockNavigationSourceRoutingConvention.cs │ │ │ ├── NavigationRoutingConventionTest.cs │ │ │ ├── NavigationSourceRoutingConventionTest.cs │ │ │ ├── NestedPathsRoutingConventionTests.cs │ │ │ ├── ODataRoutingConventionsTest.cs │ │ │ ├── OperationImportRoutingConventionTests.cs │ │ │ ├── PropertyRoutingConventionTests.cs │ │ │ ├── RefRoutingConventionTest.cs │ │ │ ├── SelectActionHelper.cs │ │ │ └── SingletonRoutingConventionTest.cs │ │ ├── DefaultODataPathHandlerTest.cs │ │ ├── KeyValueParserTest.cs │ │ ├── ODataCountTest.cs │ │ ├── ODataLevelsTest.cs │ │ ├── ODataPathRouteConstraintTest.cs │ │ ├── ODataPathSegmentTranslatorTest.cs │ │ ├── ODataPathTest.cs │ │ ├── ODataRouteTest.cs │ │ ├── ODataRoutingModel.cs │ │ ├── ODataRoutingTest.cs │ │ ├── ODataSingletonRoutingTest.cs │ │ ├── ODataValueProviderFactoryTest.cs │ │ ├── ODataVersionConstraintTests.cs │ │ └── Template │ │ │ ├── DynamicSegmentTemplateTest.cs │ │ │ ├── EntitySetSegmentTemplateTest.cs │ │ │ ├── KeySegementTemplateTest.cs │ │ │ ├── NavigationPropertyLinkSegmentTemplateTest.cs │ │ │ ├── NavigationPropertySegmentTemplateTest.cs │ │ │ ├── OperationSegmentTemplateTest.cs │ │ │ ├── PathTemplateSegmentTemplateTest.cs │ │ │ ├── PropertySegmentTemplateTest.cs │ │ │ ├── SingletonSegmentTemplateTest.cs │ │ │ └── TypeSegmentTemplateTest.cs │ ├── SelectExpandNestedDollarCountTest.cs │ ├── SelectExpandTest.cs │ ├── TestCommon │ │ ├── CustomersModelWithInheritance.cs │ │ ├── DataSource.cs │ │ ├── EdmTestHelpers.cs │ │ ├── Models │ │ │ ├── ComplexTypes │ │ │ │ ├── Attributed │ │ │ │ │ └── Person.cs │ │ │ │ └── POCO │ │ │ │ │ ├── Address.cs │ │ │ │ │ ├── Gender.cs │ │ │ │ │ ├── IActivity.cs │ │ │ │ │ ├── PhoneNumber.cs │ │ │ │ │ └── PhoneType.cs │ │ │ ├── EntityTypes │ │ │ │ ├── Attributed │ │ │ │ │ └── Employee.cs │ │ │ │ └── POCO │ │ │ │ │ ├── AddressEntity.cs │ │ │ │ │ └── WorkItem.cs │ │ │ ├── NonGenericEnumerable.cs │ │ │ ├── SampleEdmModel.cs │ │ │ └── TestDataModels.cs │ │ ├── ODataMediaTypeMapping.cs │ │ ├── ODataModelBuilderMocks.cs │ │ ├── ReferenceDepthContext.cs │ │ ├── SimpleOpenAddress.cs │ │ ├── SimpleOpenCustomer.cs │ │ ├── SimpleOpenOrder.cs │ │ ├── SimpleOpenZipCode.cs │ │ ├── SimpleVipCustomer.cs │ │ ├── SupportedTypes.cs │ │ ├── TestControllerBase.cs │ │ ├── TypeInitializer.cs │ │ └── UsefulBuilders.cs │ ├── TypeHelperTest.cs │ └── UnicodeCharactersTest.cs │ ├── Microsoft.AspNet.OData.Test │ ├── Abstraction │ │ ├── ControllerDescriptorFactory.cs │ │ ├── DependencyInjectionHelper.cs │ │ ├── FormatterTestHelper.cs │ │ ├── HttpRouteCollectionExtensions.cs │ │ ├── MockContainer.cs │ │ ├── ODataConventionModelBuilderFactory.cs │ │ ├── ODataDeserializerProviderFactory.cs │ │ ├── ODataSerializerContextFactory.cs │ │ ├── ODataSerializerProviderFactory.cs │ │ ├── RequestFactory.cs │ │ ├── ResourceSetContextFactory.cs │ │ ├── ResponseFactory.cs │ │ ├── RoutingConfigurationFactory.cs │ │ ├── ServerFactory.cs │ │ ├── TestAssemblyResolver.cs │ │ ├── TestNonODataController.cs │ │ ├── TestODataController.cs │ │ └── WebApiAssembliesResolverFactory.cs │ ├── Extensions │ │ └── HttpRequestExtensions.cs │ ├── Microsoft.AspNet.OData.Test.csproj │ ├── PublicApi │ │ ├── Microsoft.AspNet.OData.PublicApi.bsl │ │ └── PublicApiTest.cs │ ├── app.config │ └── packages.config │ ├── Microsoft.AspNetCore.OData.Test │ ├── Abstraction │ │ ├── ControllerDescriptorFactory.cs │ │ ├── Endpoint │ │ │ ├── EndpointRouteBuilderFactory.cs │ │ │ └── MockEndpointRouteBuilder.cs │ │ ├── FormatterTestHelper.cs │ │ ├── HttpRouteCollectionExtensions.cs │ │ ├── MockContainer.cs │ │ ├── ODataActionSelectorTestHelper.cs │ │ ├── ODataConventionModelBuilderFactory.cs │ │ ├── ODataDeserializerProviderFactory.cs │ │ ├── ODataSerializerContextFactory.cs │ │ ├── ODataSerializerProviderFactory.cs │ │ ├── RequestFactory.cs │ │ ├── ResourceSetContextFactory.cs │ │ ├── ResponseFactory.cs │ │ ├── RoutingConfigurationFactory.cs │ │ ├── ServerFactory.cs │ │ ├── TestActionDescriptorCollectionProvider.cs │ │ ├── TestNonODataController.cs │ │ ├── TestODataController.cs │ │ └── WebApiAssembliesResolverFactory.cs │ ├── Batch │ │ ├── ODataBatchHttpRequestMessageExtensionsTest.cs │ │ └── ODataBatchPathMappingTest.cs │ ├── Extensions │ │ ├── ActionDescriptorExtensionsTest.cs │ │ ├── Endpoint │ │ │ ├── ODataEndpointLinkGeneratorTests.cs │ │ │ ├── ODataEndpointPatternTests.cs │ │ │ ├── ODataEndpointRouteValueTransformerTests.cs │ │ │ └── ODataEndpointSelectorPolicyTests.cs │ │ ├── HttpRequestExtensions.cs │ │ ├── HttpRequestExtensionsTest.cs │ │ ├── ODataApplicationBuilderExtensionsTest.cs │ │ └── ODataConfigurationExtensionsTest.cs │ ├── Formatter │ │ └── ODataInputFormatterTest.cs │ ├── Microsoft.AspNetCore.OData.Test.csproj │ ├── PublicApi │ │ ├── Microsoft.AspNetCore.OData.PublicApi.bsl │ │ ├── Microsoft.AspNetCore3x.OData.PublicApi.bsl │ │ └── PublicApiTest.cs │ ├── Routing │ │ └── ODataActionSelectorTest.cs │ └── app.config │ └── Settings.StyleCop └── tools ├── 35MSSharedLib1024.snk ├── GetNugetPackageMetadata.proj ├── MeasureCodeSharing.ps1 ├── PoliCheck └── RunPoliCheck.ps1 ├── SkipStrongNames.xml ├── WebStack.StyleCop.targets ├── WebStack.settings.targets ├── WebStack.targets ├── WebStack.tasks.targets ├── WebStack.versions.settings.targets ├── WebStack.xunit.targets └── perf └── PerfRegression.ps1 /.gitattributes: -------------------------------------------------------------------------------- 1 | * text 2 | 3 | *.bmp binary 4 | *.dll binary 5 | *.exe binary 6 | *.gif binary 7 | *.jpg binary 8 | *.png binary 9 | *.snk binary 10 | 11 | *.ascx text 12 | *.cd text 13 | *.cmd text 14 | *.coffee text 15 | *.config text 16 | *.cs text diff=csharp 17 | *.csproj text merge=union 18 | *.cshtml text 19 | *.css text 20 | *.dtd text 21 | *.edmx text 22 | *.htm text 23 | *.html text 24 | *.js text 25 | *.json text 26 | *.msbuild text 27 | *.nuspec text 28 | *.resx text 29 | *.ruleset text 30 | *.StyleCop text 31 | *.targets text 32 | *.tt text 33 | *.txt text 34 | *.vb text 35 | *.vbhtml text 36 | *.vbproj text merge=union 37 | *.vbs text 38 | *.wsf text 39 | *.xml text 40 | *.xunit text 41 | 42 | *.sln text eol=crlf merge=union 43 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | *Short summary (3-5 sentences) describing the issue.* 4 | 5 | ### Assemblies affected 6 | 7 | *Which assemblies and versions are known to be affected e.g. OData WebApi lib 6.1.0 8 | 9 | ### Reproduce steps 10 | 11 | *The simplest set of steps to reproduce the issue. If possible, reference a commit that demonstrates the issue.* 12 | 13 | ### Expected result 14 | 15 | *What would happen if there wasn't a bug.* 16 | 17 | ### Actual result 18 | 19 | *What is actually happening.* 20 | 21 | ### Additional detail 22 | 23 | *Optional, details of the root cause if known. Delete this section if you have no additional details to add.* 24 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ### Issues 4 | 5 | *This pull request fixes #xxx.* 6 | 7 | ### Description 8 | 9 | *Briefly describe the changes of this pull request.* 10 | 11 | ### Checklist (Uncheck if it is not completed) 12 | 13 | - [ ] *Test cases added* 14 | - [ ] *Build and test with one-click build and test script passed* 15 | 16 | ### Additional work necessary 17 | 18 | *If documentation update is needed, please add "Docs Needed" label to the issue and provide details about the required document change in the issue.* 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | [Bb]in 2 | [Oo]bj 3 | [Tt]est[Rr]esults 4 | *.suo 5 | *.user 6 | *.[Cc]ache 7 | *[Rr]esharper* 8 | packages 9 | NuGet.exe 10 | _[Ss]cripts 11 | *.exe 12 | *.dll 13 | *.nupkg 14 | *.dot[Cc]over 15 | *.vsp 16 | *.psess 17 | *.orig 18 | *.sln.ide 19 | .nuget/ 20 | *.sln.ide/ 21 | _ReSharper.*/ 22 | packages/ 23 | artifacts/ 24 | PublishProfiles/ 25 | .vs/ 26 | debugSettings.json 27 | project.lock.json 28 | *.docstates 29 | *net45.csproj 30 | *net451.csproj 31 | *k10.csproj 32 | *.pidb 33 | *.userprefs 34 | *DS_Store 35 | *.ncrunchsolution 36 | *.*sdf 37 | *.ipch 38 | *.mdf 39 | *.ldf -------------------------------------------------------------------------------- /build.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | powershell -ExecutionPolicy RemoteSigned -File "build.ps1" %* -------------------------------------------------------------------------------- /configs/filelist.txt: -------------------------------------------------------------------------------- 1 | **/*.dll -------------------------------------------------------------------------------- /images/odata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OData/WebApi/59f387a6c57d78cb9d27ee4d7a7ba71c34adb2f2/images/odata.png -------------------------------------------------------------------------------- /pipelines/task-group-policheck-v1.yml: -------------------------------------------------------------------------------- 1 | # This Yaml Document has been converted by ESAI Yaml Pipeline Conversion Tool. 2 | # Please make sure to check all the converted content, it is your team's responsibility to make sure that the pipeline is still valid and functions as expected. 3 | steps: 4 | - task: PythonScript@0 5 | inputs: 6 | scriptSource: inline 7 | script: print('This is a placeholder task for the excluded securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@1 task') -------------------------------------------------------------------------------- /samples/AspNetCore3xEndpointSample.Web/AspNetCore3xEndpointSample.Web.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /samples/AspNetCore3xEndpointSample.Web/Models/WeatherForecast.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace AspNetCore3xEndpointSample.Web.Models 11 | { 12 | public class WeatherForecast 13 | { 14 | public DateTime Date { get; set; } 15 | 16 | public int TemperatureC { get; set; } 17 | 18 | public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 19 | 20 | public string Summary { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /samples/AspNetCore3xEndpointSample.Web/Program.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNetCore.Hosting; 9 | using Microsoft.Extensions.Hosting; 10 | 11 | namespace AspNetCore3xEndpointSample.Web 12 | { 13 | public class Program 14 | { 15 | public static void Main(string[] args) 16 | { 17 | CreateHostBuilder(args).Build().Run(); 18 | } 19 | 20 | public static IHostBuilder CreateHostBuilder(string[] args) => 21 | Host.CreateDefaultBuilder(args) 22 | .ConfigureWebHostDefaults(webBuilder => 23 | { 24 | webBuilder.UseStartup(); 25 | }); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /samples/AspNetCore3xEndpointSample.Web/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:2087/test/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "$schema": "http://json.schemastore.org/launchsettings.json", 11 | "profiles": { 12 | "IIS Express": { 13 | "commandName": "IISExpress", 14 | "launchBrowser": true, 15 | "launchUrl": "weatherforecast", 16 | "environmentVariables": { 17 | "ASPNETCORE_ENVIRONMENT": "Development" 18 | } 19 | }, 20 | "AspNetCore3xEndpointSample.Web": { 21 | "commandName": "Project", 22 | "launchUrl": "odata/Customers", 23 | "environmentVariables": { 24 | "ASPNETCORE_ENVIRONMENT": "Development" 25 | }, 26 | "applicationUrl": "http://localhost:5000/" 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /samples/AspNetCore3xEndpointSample.Web/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/AspNetCore3xEndpointSample.Web/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/AspNetCore3xODataSample.Web/AspNetCore3xODataSample.Web.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp3.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /samples/AspNetCore3xODataSample.Web/Program.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNetCore.Hosting; 9 | using Microsoft.Extensions.Hosting; 10 | 11 | namespace AspNetCore3xODataSample.Web 12 | { 13 | public class Program 14 | { 15 | public static void Main(string[] args) 16 | { 17 | CreateHostBuilder(args).Build().Run(); 18 | } 19 | 20 | public static IHostBuilder CreateHostBuilder(string[] args) => 21 | Host.CreateDefaultBuilder(args) 22 | .ConfigureWebHostDefaults(webBuilder => 23 | { 24 | webBuilder.UseStartup(); 25 | }); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /samples/AspNetCore3xODataSample.Web/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/launchsettings.json", 3 | "iisSettings": { 4 | "windowsAuthentication": false, 5 | "anonymousAuthentication": true, 6 | "iisExpress": { 7 | "applicationUrl": "http://localhost:15580", 8 | "sslPort": 0 9 | } 10 | }, 11 | "profiles": { 12 | "IIS Express": { 13 | "commandName": "IISExpress", 14 | "launchBrowser": true, 15 | "launchUrl": "weatherforecast", 16 | "environmentVariables": { 17 | "ASPNETCORE_ENVIRONMENT": "Development" 18 | } 19 | }, 20 | "AspNetCore3xODataSample.Web": { 21 | "commandName": "Project", 22 | "launchBrowser": true, 23 | "launchUrl": "odata/Customers", 24 | "applicationUrl": "http://localhost:5000", 25 | "environmentVariables": { 26 | "ASPNETCORE_ENVIRONMENT": "Development" 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /samples/AspNetCore3xODataSample.Web/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/AspNetCore3xODataSample.Web/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /samples/AspNetCoreODataSample.Web/AspNetCoreODataSample.Web.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp2.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /samples/AspNetCoreODataSample.Web/Models/Genre.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace AspNetCoreODataSample.Web.Models 9 | { 10 | public enum Genre 11 | { 12 | Comedy, 13 | 14 | Cartoon, 15 | 16 | Adult 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /samples/AspNetCoreODataSample.Web/Models/Level.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Runtime.Serialization; 9 | 10 | namespace AspNetCoreODataSample.Web.Models 11 | { 12 | [DataContract(Name = "level")] 13 | public enum Level 14 | { 15 | [EnumMember(Value = "low")] 16 | Low, 17 | 18 | [EnumMember(Value = "medium")] 19 | Medium, 20 | 21 | [EnumMember(Value = "veryhigh")] 22 | High 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /samples/AspNetCoreODataSample.Web/Models/Movie.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | using System.Collections.Generic; 10 | 11 | namespace AspNetCoreODataSample.Web.Models 12 | { 13 | public class Movie 14 | { 15 | public int ID { get; set; } 16 | 17 | public List Stars { get; set; } 18 | 19 | public string Title { get; set; } 20 | 21 | public DateTimeOffset ReleaseDate { get; set; } 22 | 23 | public Genre Genre { get; set; } 24 | 25 | public decimal Price { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /samples/AspNetCoreODataSample.Web/Models/MovieStar.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace AspNetCoreODataSample.Web.Models 9 | { 10 | public class MovieStar 11 | { 12 | public Movie Movie { get; set; } 13 | 14 | public int MovieId { get; set; } 15 | 16 | public string FirstName { get; set; } 17 | 18 | public string LastName { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /samples/AspNetCoreODataSample.Web/Models/Person.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | using System.ComponentModel.DataAnnotations.Schema; 10 | 11 | namespace AspNetCoreODataSample.Web.Models 12 | { 13 | public class Person 14 | { 15 | public string FirstName { get; set; } 16 | 17 | public string LastName { get; set; } 18 | 19 | //[NotMapped] 20 | public IDictionary DynamicProperties { get; set; } 21 | 22 | public Level MyLevel { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /samples/AspNetCoreODataSample.Web/Program.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNetCore; 9 | using Microsoft.AspNetCore.Hosting; 10 | 11 | namespace AspNetCoreODataSample.Web 12 | { 13 | public class Program 14 | { 15 | public static void Main(string[] args) 16 | { 17 | BuildWebHost(args).Run(); 18 | } 19 | 20 | public static IWebHost BuildWebHost(string[] args) => 21 | WebHost.CreateDefaultBuilder(args) 22 | .UseStartup() 23 | .Build(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /samples/AspNetCoreODataSample.Web/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:5912/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "launchUrl": "efcore/Movies", 15 | "environmentVariables": { 16 | "ASPNETCORE_ENVIRONMENT": "Development" 17 | } 18 | }, 19 | "AspNetCoreODataSample.Web": { 20 | "commandName": "Project", 21 | "launchBrowser": true, 22 | "launchUrl": "odata/$metadata", 23 | "environmentVariables": { 24 | "ASPNETCORE_ENVIRONMENT": "Development" 25 | }, 26 | "applicationUrl": "http://localhost:5913/" 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /samples/AspNetCoreODataSample.Web/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /samples/AspNetCoreODataSample.Web/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "Debug": { 5 | "LogLevel": { 6 | "Default": "Warning" 7 | } 8 | }, 9 | "Console": { 10 | "LogLevel": { 11 | "Default": "Warning" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /samples/AspNetODataSample.Web/App_Start/WebApiConfig.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Web.Http; 9 | using AspNetODataSample.Web.Models; 10 | using Microsoft.AspNet.OData.Extensions; 11 | 12 | namespace AspNetODataSample.Web 13 | { 14 | public static class WebApiConfig 15 | { 16 | public static void Register(HttpConfiguration config) 17 | { 18 | var model = EdmModelBuilder.GetEdmModel(); 19 | config.MapODataServiceRoute("odata", "odata", model); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /samples/AspNetODataSample.Web/Controllers/ODataOperationImportController.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Linq; 9 | using System.Web.Http; 10 | using AspNetODataSample.Web.Models; 11 | using Microsoft.AspNet.OData; 12 | 13 | namespace AspNetODataSample.Web.Controllers 14 | { 15 | public class ODataOperationImportController : ODataController 16 | { 17 | [HttpGet] 18 | public IHttpActionResult RateByOrder(int order) 19 | { 20 | return Ok($"In RateByOrder using Order = {order}"); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /samples/AspNetODataSample.Web/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="AspNetODataSample.Web.WebApiApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /samples/AspNetODataSample.Web/Global.asax.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Web.Http; 9 | 10 | namespace AspNetODataSample.Web 11 | { 12 | public class WebApiApplication : System.Web.HttpApplication 13 | { 14 | protected void Application_Start() 15 | { 16 | GlobalConfiguration.Configure(WebApiConfig.Register); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/AspNetODataSample.Web/Models/TodoItem.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace AspNetODataSample.Web.Models 9 | { 10 | public class TodoItem 11 | { 12 | public long Id { get; set; } 13 | public string Name { get; set; } 14 | public bool IsComplete { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /samples/AspNetODataSample.Web/Models/TodoItemContext.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Data.Entity; 9 | 10 | namespace AspNetODataSample.Web.Models 11 | { 12 | public class TodoItemContext : DbContext 13 | { 14 | public DbSet TodoItems { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /samples/AspNetODataSample.Web/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OData/WebApi/59f387a6c57d78cb9d27ee4d7a7ba71c34adb2f2/samples/AspNetODataSample.Web/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /sln/.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /sln/.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OData/WebApi/59f387a6c57d78cb9d27ee4d7a7ba71c34adb2f2/sln/.nuget/NuGet.exe -------------------------------------------------------------------------------- /sln/.nuget/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /sln/packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/CommonAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | using System.Reflection; 10 | using System.Resources; 11 | using System.Runtime.InteropServices; 12 | 13 | #if NETCORE 14 | [assembly: AssemblyProduct("Microsoft OData Web API for ASP.NET Core")] 15 | #else 16 | [assembly: AssemblyProduct("Microsoft OData Web API for ASP.NET")] 17 | #endif 18 | [assembly: AssemblyConfiguration("")] 19 | [assembly: AssemblyTrademark("")] 20 | [assembly: ComVisible(false)] 21 | #if !NOT_CLS_COMPLIANT 22 | [assembly: CLSCompliant(true)] 23 | #endif 24 | [assembly: NeutralResourcesLanguage("en-US")] 25 | [assembly: AssemblyMetadata("Serviceable", "True")] 26 | -------------------------------------------------------------------------------- /src/GlobalSuppressions.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Diagnostics.CodeAnalysis; 9 | 10 | [assembly: SuppressMessage("Microsoft.Design", "CA2210:AssembliesShouldHaveValidStrongNames", Justification = "Assembly is delay-signed")] 11 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/ContainedAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Builder 11 | { 12 | /// 13 | /// Mark a navigation property as containment. 14 | /// 15 | [AttributeUsage(AttributeTargets.Property)] 16 | public sealed class ContainedAttribute : Attribute 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/Conventions/IConvention.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Diagnostics.CodeAnalysis; 9 | 10 | namespace Microsoft.AspNet.OData.Builder.Conventions 11 | { 12 | [SuppressMessage("Microsoft.Design", "CA1040:AvoidEmptyInterfaces", Justification = "Marker interface acceptable here for derivation")] 13 | internal interface IConvention 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/Conventions/IEdmTypeConvention.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Builder.Conventions 9 | { 10 | internal interface IEdmTypeConvention : IConvention 11 | { 12 | void Apply(IEdmTypeConfiguration edmTypeConfiguration, ODataConventionModelBuilder model); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/Conventions/INavigationSourceConvention.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Builder.Conventions 9 | { 10 | internal interface INavigationSourceConvention : IConvention 11 | { 12 | void Apply(NavigationSourceConfiguration configuration, ODataModelBuilder model); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/Conventions/IOperationConvention.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Builder.Conventions 9 | { 10 | /// 11 | /// Convention to apply to instances in the model 12 | /// 13 | internal interface IOperationConvention : IConvention 14 | { 15 | void Apply(OperationConfiguration configuration, ODataModelBuilder model); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/EdmTypeBuilder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OData/WebApi/59f387a6c57d78cb9d27ee4d7a7ba71c34adb2f2/src/Microsoft.AspNet.OData.Shared/Builder/EdmTypeBuilder.cs -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/MediaTypeAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Builder 11 | { 12 | /// 13 | /// Marks this entity type as media type. 14 | /// 15 | [AttributeUsage(AttributeTargets.Class)] 16 | public sealed class MediaTypeAttribute : Attribute 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/NavigationSourceUrlAnnotation.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Builder 9 | { 10 | // An internal class used in class. 11 | internal class NavigationSourceUrlAnnotation 12 | { 13 | public string Url { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/OperationKind.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Builder 9 | { 10 | /// 11 | /// The Kind of OData Operation. 12 | /// One of Action, Function or ServiceOperation. 13 | /// 14 | public enum OperationKind 15 | { 16 | /// 17 | /// An action 18 | /// 19 | Action = 0, 20 | 21 | /// 22 | /// A function 23 | /// 24 | Function = 1, 25 | 26 | /// 27 | /// A service operation 28 | /// 29 | ServiceOperation = 2 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/OperationTitleAnnotation.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Builder 9 | { 10 | internal class OperationTitleAnnotation 11 | { 12 | public OperationTitleAnnotation(string title) 13 | { 14 | Title = title; 15 | } 16 | 17 | public string Title { get; private set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Builder/SingletonAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Builder 11 | { 12 | /// 13 | /// Represents an that can be placed on a property to specify 14 | /// that the property must bind to a singleton. It's used in convention model builder. 15 | /// 16 | [AttributeUsage(AttributeTargets.Property)] 17 | public sealed class SingletonAttribute : Attribute 18 | { 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Formatter/Deserialization/ResourceSetType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Formatter.Deserialization 9 | { 10 | /// 11 | /// Specifies the type of resource set. 12 | /// 13 | internal enum ResourceSetType 14 | { 15 | /// 16 | /// A normal resource set. 17 | /// 18 | ResourceSet, 19 | 20 | /// 21 | /// A delta resource set. 22 | /// 23 | DeltaResourceSet 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Formatter/ODataStreamMediaTypeMapping.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Formatter 9 | { 10 | /// 11 | /// Media type mapping that associates requests with stream property. 12 | /// 13 | public partial class ODataStreamMediaTypeMapping 14 | { 15 | /// 16 | /// Initializes a new instance of the class. 17 | /// 18 | public ODataStreamMediaTypeMapping() 19 | : base("application/octet-stream") 20 | { 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/IDeltaSet.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData 9 | { 10 | /// 11 | /// Basic interface to represent a deltaset which is a collection of deltas. 12 | /// This is being implemented by DeltaSet. Since it's being implemented by a generic type and 13 | /// since we need to check in a few places (like deserializer) whether the object is a deltaset and the {TStructuralType} is not available, 14 | /// we need a marker interface which can be used in these checks. 15 | /// 16 | public interface IDeltaSet 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/IEdmChangedObject.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData 9 | { 10 | /// 11 | /// Represents an instance of an . 12 | /// Base interface to be implemented by any Delta object required to be part of the DeltaFeed Payload. 13 | /// 14 | public interface IEdmChangedObject : IEdmStructuredObject 15 | { 16 | /// 17 | /// DeltaKind for the objects part of the DeltaFeed Payload. 18 | /// Used to determine which Delta object to create during serialization. 19 | /// 20 | EdmDeltaEntityKind DeltaKind { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/IEdmComplexObject.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.OData.Edm; 9 | 10 | namespace Microsoft.AspNet.OData 11 | { 12 | /// 13 | /// Represents an instance of an . 14 | /// 15 | public interface IEdmComplexObject : IEdmStructuredObject 16 | { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/IEdmDeltaDeletedLink.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData 9 | { 10 | /// 11 | /// Represents an instance of an . 12 | /// Holds the properties necessary to create the ODataDeltaDeletedLink. 13 | /// 14 | public interface IEdmDeltaDeletedLink : IEdmDeltaLinkBase, IEdmChangedObject 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/IEdmDeltaLink.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData 9 | { 10 | /// 11 | /// Represents an instance of an . 12 | /// Holds the properties necessary to create the ODataDeltaLink. 13 | /// 14 | public interface IEdmDeltaLink : IEdmDeltaLinkBase, IEdmChangedObject 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/IEdmEntityObject.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.OData.Edm; 9 | 10 | namespace Microsoft.AspNet.OData 11 | { 12 | /// 13 | /// Represents an instance of an . 14 | /// 15 | public interface IEdmEntityObject : IEdmStructuredObject 16 | { 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/IEdmEnumObject.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Diagnostics.CodeAnalysis; 9 | 10 | namespace Microsoft.AspNet.OData 11 | { 12 | /// 13 | /// Represents an instance of an enum value. 14 | /// 15 | [SuppressMessage("Microsoft.Design", "CA1040:AvoidEmptyInterfaces", Justification = "Marker interface acceptable here for derivation")] 16 | public interface IEdmEnumObject : IEdmObject 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/IODataAPIHandler.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData 9 | { 10 | /// 11 | /// Base interface for ODataAPIHandler. 12 | /// 13 | /// 14 | /// This is being implemented by ODataAPIHandler{TStructuralType} which has a method returning nested ODataApiHandler. 15 | /// A generic empty interface is needed since the nested patch handler will be of different type. 16 | /// 17 | public interface IODataAPIHandler 18 | { 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/NonValidatingParameterBindingAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData 9 | { 10 | /// 11 | /// An attribute to disable WebApi model validation for a particular type. 12 | /// 13 | internal sealed partial class NonValidatingParameterBindingAttribute 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/ODataAPIResponseStatus.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData 9 | { 10 | /// 11 | /// Enum for Patch status. 12 | /// 13 | public enum ODataAPIResponseStatus 14 | { 15 | /// 16 | /// Success status. 17 | /// 18 | Success, 19 | /// 20 | /// Failure status. 21 | /// 22 | Failure, 23 | /// 24 | /// Resource not found. 25 | /// 26 | NotFound 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/ODataController.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData 9 | { 10 | /// 11 | /// The base controller for OData WebApi. 12 | /// 13 | /// This class exist in shared in order to implement . 14 | public abstract partial class ODataController 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/ODataIdContainer.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData 9 | { 10 | /// 11 | /// The odata id container. It will be used by POCO objects as well as Delta{TStructuralType}. 12 | /// 13 | public class ODataIdContainer 14 | { 15 | /// 16 | /// Gets or set the odata id path string. 17 | /// 18 | public string ODataId { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/ExpandConfiguration.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Query 9 | { 10 | /// 11 | /// Represents a configuration of an expandable property. 12 | /// 13 | public class ExpandConfiguration 14 | { 15 | /// 16 | /// Gets or sets the . 17 | /// 18 | public SelectExpandType ExpandType { get; set; } 19 | 20 | /// 21 | /// Gets or sets the maximum depth. 22 | /// 23 | public int MaxDepth { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/Expressions/IdentityPropertyMapper.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Query.Expressions 9 | { 10 | internal class IdentityPropertyMapper : IPropertyMapper 11 | { 12 | public string MapProperty(string propertyName) 13 | { 14 | return propertyName; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/ICountOptionCollection.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections; 9 | 10 | namespace Microsoft.AspNet.OData.Query 11 | { 12 | /// 13 | /// Represents a collection that has total count. 14 | /// 15 | internal interface ICountOptionCollection : IEnumerable 16 | { 17 | /// 18 | /// Gets a value representing the total count of the collection. 19 | /// 20 | long? TotalCount { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/NonFilterableAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Query 11 | { 12 | /// 13 | /// Represents an that can be placed on a property to specify that the property cannot be used in the $filter OData query option. 14 | /// 15 | [AttributeUsage(AttributeTargets.Property)] 16 | public sealed class NonFilterableAttribute : Attribute 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/NotCountableAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Query 11 | { 12 | /// 13 | /// Represents an that can be placed on a property to specify that 14 | /// the $count cannot be applied on the property. 15 | /// 16 | [AttributeUsage(AttributeTargets.Property)] 17 | public sealed class NotCountableAttribute : Attribute 18 | { 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/NotExpandableAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Query 11 | { 12 | /// 13 | /// Represents an that can be placed on a property to specify that the property cannot be used in the $expand OData query option. 14 | /// 15 | [AttributeUsage(AttributeTargets.Property)] 16 | public sealed class NotExpandableAttribute : Attribute 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/NotFilterableAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Query 11 | { 12 | /// 13 | /// Represents an that can be placed on a property to specify that 14 | /// the property cannot be used in the $filter OData query option. 15 | /// 16 | [AttributeUsage(AttributeTargets.Property)] 17 | public sealed class NotFilterableAttribute : Attribute 18 | { 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/NotNavigableAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Query 11 | { 12 | /// 13 | /// Represents an that can be placed on a property to specify that the property cannot be navigated in OData query. 14 | /// 15 | [AttributeUsage(AttributeTargets.Property)] 16 | public sealed class NotNavigableAttribute : Attribute 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/NotSortableAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Query 11 | { 12 | /// 13 | /// Represents an that can be placed on a property to specify that 14 | /// the property cannot be used in the $orderby OData query option. 15 | /// 16 | [AttributeUsage(AttributeTargets.Property)] 17 | public sealed class NotSortableAttribute : Attribute 18 | { 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/QueryOptionSetting.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Query 9 | { 10 | /// 11 | /// Represents the setting of a query option. 12 | /// 13 | public enum QueryOptionSetting 14 | { 15 | /// 16 | /// Allowed to be applied. 17 | /// 18 | Allowed, 19 | 20 | /// 21 | /// Disallowed to be applied. 22 | /// 23 | Disabled 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/SelectExpandType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Query 9 | { 10 | /// 11 | /// Represents the type of expand and select. 12 | /// 13 | public enum SelectExpandType 14 | { 15 | /// 16 | /// Allowed to be expanded and selected. 17 | /// 18 | Allowed, 19 | 20 | /// 21 | /// Automatic expanded and selected. 22 | /// 23 | Automatic, 24 | 25 | /// 26 | /// Disallowed to be expanded and selected. 27 | /// 28 | Disabled 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Query/UnsortableAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Query 11 | { 12 | /// 13 | /// Represents an that can be placed on a property to specify that the property cannot be used in the $orderby OData query option. 14 | /// 15 | [AttributeUsage(AttributeTargets.Property)] 16 | public sealed class UnsortableAttribute : Attribute 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/Routing/ODataPathParameterBindingAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Routing 9 | { 10 | /// 11 | /// Implementation of ParameterBindingAttribute used to bind an instance of as an action parameter. 12 | /// 13 | public sealed partial class ODataPathParameterBindingAttribute 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData.Shared/TransientAnnotations.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | using Microsoft.AspNet.OData.Common; 10 | 11 | namespace Microsoft.AspNet.OData 12 | { 13 | internal static class TransientAnnotations 14 | { 15 | internal static HashSet TransientAnnotationTerms = new HashSet() { SRResources.ContentID, SRResources.DataModificationException }; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData/HttpRequestScope.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Net.Http; 9 | 10 | namespace Microsoft.AspNet.OData 11 | { 12 | /// 13 | /// Provides access to the 14 | /// to which the OData service container instance is scoped. 15 | /// 16 | public class HttpRequestScope 17 | { 18 | /// 19 | /// Provides access to the 20 | /// to which the OData service container instance is scoped. 21 | /// 22 | public HttpRequestMessage HttpRequest { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData/Settings.StyleCop: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | o 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/Microsoft.AspNet.OData/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.OData/HttpRequestScope.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNetCore.Http; 9 | 10 | namespace Microsoft.AspNet.OData 11 | { 12 | /// 13 | /// Provides access to the 14 | /// to which the OData service container instance is scoped. 15 | /// 16 | public class HttpRequestScope 17 | { 18 | /// 19 | /// Provides access to the 20 | /// to which the OData service container instance is scoped. 21 | /// 22 | public HttpRequest HttpRequest { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.OData/Interfaces/IODataCoreBuilder.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.Extensions.DependencyInjection; 9 | 10 | namespace Microsoft.AspNet.OData.Interfaces 11 | { 12 | /// 13 | /// An interface for configuring essential OData services. 14 | /// 15 | public interface IODataBuilder 16 | { 17 | /// 18 | /// Gets the where essential OData services are configured. 19 | /// 20 | IServiceCollection Services { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.OData/ODataRoutingAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData 11 | { 12 | /// 13 | /// Defines a controller-level attribute that can be used to enable OData action selection based on routing conventions. 14 | /// 15 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)] 16 | public sealed class ODataRoutingAttribute : Attribute 17 | { 18 | // This class is not needed; Routing is injected in ODataServiceCollectionExtensions::AddOdata() 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Microsoft.AspNetCore.OData/Results/IODataErrorResult.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.OData; 9 | 10 | namespace Microsoft.AspNet.OData.Results 11 | { 12 | /// 13 | /// Provide the interface for the details of a given OData Error result. 14 | /// 15 | public interface IODataErrorResult 16 | { 17 | /// 18 | /// OData Error. 19 | /// 20 | ODataError Error { get; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/Settings.StyleCop: -------------------------------------------------------------------------------- 1 | 2 | 3 | Parent 4 | 5 | -------------------------------------------------------------------------------- /src/Strict.ruleset: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Aggregation/PagedCustomersController.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Linq; 9 | using Microsoft.AspNet.OData; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.Aggregation.Paged 12 | { 13 | public class CustomersController : BaseCustomersController 14 | { 15 | [EnableQuery(PageSize = 5)] 16 | public IQueryable Get() 17 | { 18 | ResetDataSource(); 19 | var db = new AggregationContext(); 20 | return db.Customers; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Build.AspNetCore3x/ActionResult/ActionResultEdmModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.OData.Edm; 9 | using Microsoft.Test.E2E.AspNet.OData.Common.Execution; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.ActionResult 12 | { 13 | public class ActionResultEdmModel 14 | { 15 | public static IEdmModel GetEdmModel(WebRouteConfiguration configuration) 16 | { 17 | var builder = configuration.CreateConventionModelBuilder(); 18 | builder.EntitySet("Customers"); 19 | return builder.GetEdmModel(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Build.AspNetCore3x/ActionResult/ActionResultODataModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.ActionResult 11 | { 12 | public class Customer 13 | { 14 | public string Id { get; set; } 15 | 16 | public IEnumerable Books { get; set; } 17 | } 18 | 19 | public class Book 20 | { 21 | public string Id { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Build.AspNetCore3x/ConcurrentQuery/ConcurrentQueryEdmModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.OData.Edm; 9 | using Microsoft.Test.E2E.AspNet.OData.Common.Execution; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.ConcurrentQuery 12 | { 13 | public class ConcurrentQueryEdmModel 14 | { 15 | public static IEdmModel GetEdmModel(WebRouteConfiguration configuration) 16 | { 17 | var builder = configuration.CreateConventionModelBuilder(); 18 | builder.EntitySet("Customers"); 19 | return builder.GetEdmModel(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Build.AspNetCore3x/ConcurrentQuery/ConcurrentQueryODataModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.ConcurrentQuery 11 | { 12 | public class Customer 13 | { 14 | public int Id { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Build.AspNetCore3x/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:2092/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "Microsoft.Test.E2E.AspNetCore3x.OData": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "environmentVariables": { 22 | "ASPNETCORE_ENVIRONMENT": "Development" 23 | }, 24 | "applicationUrl": "http://localhost:2093/" 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Build.AspNetCore3x/QueryValidationBeforeAction/QueryValidationBeforeActionODataModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.QueryValidationBeforeAction 11 | { 12 | public class Customer 13 | { 14 | public string Id { get; set; } 15 | 16 | public IEnumerable Books { get; set; } 17 | } 18 | 19 | public class Book 20 | { 21 | public string Id { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/DataServiceQueryExtensions.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | using System.Threading.Tasks; 10 | using Microsoft.OData.Client; 11 | 12 | namespace Microsoft.Test.E2E.AspNet.OData.Common 13 | { 14 | public static class DataServiceQueryExtensions 15 | { 16 | public static Task> ExecuteAsync(this DataServiceQuery self) 17 | { 18 | return Task>.Factory.FromAsync( 19 | self.BeginExecute, 20 | self.EndExecute, 21 | null); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Configuration/ISettings.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Configuration 9 | { 10 | public interface ISettings 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Blogs/BlogPostTag.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Blogs 9 | { 10 | /// 11 | /// Represents a blog post tag 12 | /// 13 | public partial class BlogPostTag 14 | { 15 | /// 16 | /// Gets or sets the name 17 | /// 18 | public virtual string Name { get; set; } 19 | 20 | /// 21 | /// Gets or sets the tagged product count 22 | /// 23 | public virtual int BlogPostCount { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Catalog/CrossSellProduct.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Catalog 9 | { 10 | /// 11 | /// Represents a cross-sell product 12 | /// 13 | public partial class CrossSellProduct : BaseEntity 14 | { 15 | /// 16 | /// Gets or sets the first product identifier 17 | /// 18 | public virtual int ProductId1 { get; set; } 19 | 20 | /// 21 | /// Gets or sets the second product identifier 22 | /// 23 | public virtual int ProductId2 { get; set; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Catalog/DownloadActivationType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Catalog 9 | { 10 | /// 11 | /// Represents a download activation type 12 | /// 13 | public enum DownloadActivationType 14 | { 15 | /// 16 | /// When order is paid 17 | /// 18 | WhenOrderIsPaid = 1, 19 | /// 20 | /// Manually 21 | /// 22 | Manually = 10, 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Catalog/GiftCardType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Catalog 9 | { 10 | /// 11 | /// Represents a gift card type 12 | /// 13 | public enum GiftCardType 14 | { 15 | /// 16 | /// Virtual 17 | /// 18 | Virtual = 0, 19 | /// 20 | /// Physical 21 | /// 22 | Physical = 1, 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Catalog/LowStockActivity.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Catalog 9 | { 10 | /// 11 | /// Represents a low stock activity 12 | /// 13 | public enum LowStockActivity 14 | { 15 | /// 16 | /// Nothing 17 | /// 18 | Nothing = 0, 19 | /// 20 | /// Disable buy button 21 | /// 22 | DisableBuyButton = 1, 23 | /// 24 | /// Unpublish 25 | /// 26 | Unpublish = 2, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Catalog/PriceRange.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Catalog 9 | { 10 | /// 11 | /// Represents a price range 12 | /// 13 | public partial class PriceRange 14 | { 15 | /// 16 | /// From 17 | /// 18 | public virtual decimal? From { get; set; } 19 | /// 20 | /// To 21 | /// 22 | public virtual decimal? To { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Cms/WidgetSettings.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | using Nop.Core.Configuration; 10 | 11 | namespace Nop.Core.Domain.Cms 12 | { 13 | public class WidgetSettings : ISettings 14 | { 15 | public WidgetSettings() 16 | { 17 | ActiveWidgetSystemNames = new List(); 18 | } 19 | 20 | /// 21 | /// Gets or sets a system names of active widgets 22 | /// 23 | public List ActiveWidgetSystemNames { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Common/AdminAreaSettings.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Nop.Core.Configuration; 9 | 10 | namespace Nop.Core.Domain.Common 11 | { 12 | public class AdminAreaSettings : ISettings 13 | { 14 | public int GridPageSize { get; set; } 15 | 16 | public bool DisplayProductPictures { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Customers/PasswordFormat.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Customers 9 | { 10 | public enum PasswordFormat : int 11 | { 12 | Clear = 0, 13 | Hashed = 1, 14 | Encrypted = 2 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Customers/SystemCustomerNames.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Customers 9 | { 10 | public static partial class SystemCustomerNames 11 | { 12 | public static string SearchEngine { get { return "SearchEngine"; } } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Customers/SystemCustomerRoleNames.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Customers 9 | { 10 | public static partial class SystemCustomerRoleNames 11 | { 12 | public static string Administrators { get { return "Administrators"; } } 13 | 14 | public static string ForumModerators { get { return "ForumModerators"; } } 15 | 16 | public static string Registered { get { return "Registered"; } } 17 | 18 | public static string Guests { get { return "Guests"; } } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Directory/CurrencySettings.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Nop.Core.Configuration; 9 | 10 | namespace Nop.Core.Domain.Directory 11 | { 12 | public class CurrencySettings : ISettings 13 | { 14 | public int PrimaryStoreCurrencyId { get; set; } 15 | public int PrimaryExchangeRateCurrencyId { get; set; } 16 | public string ActiveExchangeRateProviderSystemName { get; set; } 17 | public bool AutoUpdateEnabled { get; set; } 18 | public long LastUpdateTime { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Directory/MeasureSettings.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Nop.Core.Configuration; 9 | 10 | namespace Nop.Core.Domain.Directory 11 | { 12 | public class MeasureSettings : ISettings 13 | { 14 | public int BaseDimensionId { get; set; } 15 | public int BaseWeightId { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Discounts/DiscountLimitationType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Discounts 9 | { 10 | /// 11 | /// Represents a discount limitation type 12 | /// 13 | public enum DiscountLimitationType 14 | { 15 | /// 16 | /// None 17 | /// 18 | Unlimited = 0, 19 | /// 20 | /// N Times Only 21 | /// 22 | NTimesOnly = 15, 23 | /// 24 | /// N Times Per Customer 25 | /// 26 | NTimesPerCustomer = 25, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Forums/EditorType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Forums 9 | { 10 | /// 11 | /// Represents an editor type 12 | /// 13 | public enum EditorType 14 | { 15 | /// 16 | /// SimpleTextBox 17 | /// 18 | SimpleTextBox = 10, 19 | /// 20 | /// BBCode Editor 21 | /// 22 | BBCodeEditor = 20 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Forums/ForumSearchType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Forums 9 | { 10 | /// 11 | /// Represents a forum search type 12 | /// 13 | public enum ForumSearchType 14 | { 15 | /// 16 | /// Topic titles and post text 17 | /// 18 | All = 0, 19 | /// 20 | /// Topic titles only 21 | /// 22 | TopicTitlesOnly = 10, 23 | /// 24 | /// Post text only 25 | /// 26 | PostTextOnly = 20, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Forums/ForumTopicType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Forums 9 | { 10 | /// 11 | /// Represents a forum topic type 12 | /// 13 | public enum ForumTopicType 14 | { 15 | /// 16 | /// Normal 17 | /// 18 | Normal = 10, 19 | /// 20 | /// Sticky 21 | /// 22 | Sticky = 15, 23 | /// 24 | /// Announcement 25 | /// 26 | Announcement = 20, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Localization/ILocalizedEntity.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Localization 9 | { 10 | /// 11 | /// Represents a localized entity 12 | /// 13 | public interface ILocalizedEntity 14 | { 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Localization/ILocalizedEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Localization 9 | { 10 | /// 11 | /// Represents a localized enum 12 | /// 13 | public interface ILocalizedEnum 14 | { 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Logging/LogLevel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Logging 9 | { 10 | /// 11 | /// Represents a log level 12 | /// 13 | public enum LogLevel 14 | { 15 | Debug = 10, 16 | Information = 20, 17 | Warning = 30, 18 | Error = 40, 19 | Fatal = 50 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Media/PictureType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Media 9 | { 10 | /// 11 | /// Represents a picture item type 12 | /// 13 | public enum PictureType : int 14 | { 15 | /// 16 | /// Entities (products, categories, manufacturers) 17 | /// 18 | Entity = 1, 19 | /// 20 | /// Avatar 21 | /// 22 | Avatar = 10, 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Messages/EmailAccountSettings.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Nop.Core.Configuration; 9 | 10 | namespace Nop.Core.Domain.Messages 11 | { 12 | public class EmailAccountSettings : ISettings 13 | { 14 | /// 15 | /// Gets or sets a store default email account identifier 16 | /// 17 | public int DefaultEmailAccountId { get; set; } 18 | 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Orders/ShoppingCartType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Orders 9 | { 10 | /// 11 | /// Represents a shoping cart type 12 | /// 13 | public enum ShoppingCartType 14 | { 15 | /// 16 | /// Shopping cart 17 | /// 18 | ShoppingCart = 1, 19 | /// 20 | /// Wishlist 21 | /// 22 | Wishlist = 2, 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Seo/ISlugSupported.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Seo 9 | { 10 | /// 11 | /// Represents an entity which supports slug (SEO friendly one-word URLs) 12 | /// 13 | public interface ISlugSupported 14 | { 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Seo/PageTitleSeoAdjustment.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Seo 9 | { 10 | /// 11 | /// Represents an editor type 12 | /// 13 | public enum PageTitleSeoAdjustment 14 | { 15 | /// 16 | /// Pagename comes after storename 17 | /// 18 | PagenameAfterStorename = 0, 19 | /// 20 | /// Storename comes after pagename 21 | /// 22 | StorenameAfterPagename = 10 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Tax/TaxBasedOn.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Tax 9 | { 10 | /// 11 | /// Represents the tax based on 12 | /// 13 | public enum TaxBasedOn 14 | { 15 | /// 16 | /// Billing address 17 | /// 18 | BillingAddress = 1, 19 | /// 20 | /// Shipping address 21 | /// 22 | ShippingAddress = 2, 23 | /// 24 | /// Default address 25 | /// 26 | DefaultAddress = 3, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Tax/TaxCategory.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Tax 9 | { 10 | /// 11 | /// Represents a tax category 12 | /// 13 | public partial class TaxCategory : BaseEntity 14 | { 15 | /// 16 | /// Gets or sets the name 17 | /// 18 | public virtual string Name { get; set; } 19 | 20 | /// 21 | /// Gets or sets the display order 22 | /// 23 | public virtual int DisplayOrder { get; set; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/NopCommerce/Domain/Tax/TaxDisplayType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Nop.Core.Domain.Tax 9 | { 10 | /// 11 | /// Represents the tax display type enumeration 12 | /// 13 | public enum TaxDisplayType 14 | { 15 | /// 16 | /// Including tax 17 | /// 18 | IncludingTax = 0, 19 | /// 20 | /// Excluding tax 21 | /// 22 | ExcludingTax = 10, 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/ProductFamilies/Address.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.ComponentModel.DataAnnotations.Schema; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.Common.Models.ProductFamilies 11 | { 12 | [ComplexType] 13 | public class Address 14 | { 15 | public string Street { get; set; } 16 | 17 | public string City { get; set; } 18 | 19 | public string State { get; set; } 20 | 21 | public string ZipCode { get; set; } 22 | 23 | public string CountryOrRegion { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/ProductFamilies/Product.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.Common.Models.ProductFamilies 11 | { 12 | public partial class Product 13 | { 14 | public int ID { get; set; } 15 | 16 | public string Name { get; set; } 17 | 18 | public DateTimeOffset? ReleaseDate { get; set; } 19 | 20 | public DateTimeOffset? SupportedUntil { get; set; } 21 | 22 | public virtual ProductFamily Family { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/Products/Address.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.Test.E2E.AspNet.OData.Common.Models.Products 9 | { 10 | public class Address 11 | { 12 | public string Street { get; set; } 13 | 14 | public string City { get; set; } 15 | 16 | public string State { get; set; } 17 | 18 | public string ZipCode { get; set; } 19 | 20 | public string Country { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/Products/Category.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.Common.Models.Products 11 | { 12 | public class Category 13 | { 14 | public Category() 15 | { 16 | Products = new List(); 17 | } 18 | 19 | public int ID { get; set; } 20 | 21 | public string Name { get; set; } 22 | 23 | public virtual ICollection Products { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/Products/Customer.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.ObjectModel; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.Common.Models.Products 11 | { 12 | public class Customer 13 | { 14 | public int Id { get; set; } 15 | public string Name { get; set; } 16 | } 17 | 18 | public class CustomerCollection : Collection 19 | { 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/Models/Products/Order.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | using System.Collections.Generic; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.Common.Models.Products 12 | { 13 | public class Order 14 | { 15 | public int OrderId { get; set; } 16 | public IEnumerable OrderLines { get; set; } 17 | } 18 | 19 | public class OrderLine 20 | { 21 | public int OrderLineId { get; set; } 22 | public Product Product { get; set; } 23 | public Decimal Cost { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/ODataTestConstants.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.Test.E2E.AspNet.OData.Common 9 | { 10 | public class ODataTestConstants 11 | { 12 | public const string DefaultRouteName = "DefaultODataRoute"; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/PlaceholderTraceWriter.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | #if !NETCORE 9 | using System; 10 | using System.Net.Http; 11 | using System.Web.Http.Tracing; 12 | 13 | namespace Microsoft.Test.E2E.AspNet.OData.Common 14 | { 15 | public class PlaceholderTraceWriter : ITraceWriter 16 | { 17 | public void Trace(HttpRequestMessage request, string category, TraceLevel level, Action traceAction) 18 | { 19 | var record = new TraceRecord(request, category, level); 20 | traceAction(record); 21 | } 22 | } 23 | } 24 | #endif 25 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Common/TypesInjectionAssembly.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | using System.Reflection; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.Common 12 | { 13 | internal sealed class TypesInjectionAssembly : Assembly 14 | { 15 | private Type[] _types; 16 | 17 | public TypesInjectionAssembly(params Type[] types) 18 | { 19 | _types = types; 20 | } 21 | 22 | public override Type[] GetTypes() 23 | { 24 | return _types; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/DateTimeSupport/DateTimeDataModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | using System.Collections.Generic; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.DateTimeSupport 12 | { 13 | public class File 14 | { 15 | public int FileId { get; set; } 16 | 17 | public string Name { get; set; } 18 | 19 | public DateTime CreatedDate { get; set; } 20 | 21 | public DateTime? DeleteDate { get; set; } 22 | 23 | public IList ModifiedDates { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/DerivedTypes/DerivedTypesDataModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.DerivedTypes 11 | { 12 | public class Customer 13 | { 14 | public int Id { get; set; } 15 | public string Name { get; set; } 16 | public List Orders { get; set; } 17 | } 18 | 19 | public class VipCustomer : Customer 20 | { 21 | public string LoyaltyCardNo { get; set; } 22 | } 23 | 24 | public class Order 25 | { 26 | public int Id { get; set; } 27 | public decimal Amount { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/DollarLevels/DollarLevelsDataModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.DollarLevels 11 | { 12 | public class DLManager 13 | { 14 | public int ID { get; set; } 15 | 16 | public string Name { get; set; } 17 | 18 | public DLManager Manager { get; set; } 19 | 20 | public IList DirectReports { get; set; } 21 | } 22 | 23 | public class DLEmployee 24 | { 25 | public int ID { get; set; } 26 | 27 | public DLEmployee Friend { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Formatter/DeserializationAndSerializationTests.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.Test.E2E.AspNet.OData.Formatter 9 | { 10 | } 11 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Formatter/JsonLight/Metadata/Model/ComplexType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.Formatter.JsonLight.Metadata.Model 11 | { 12 | public class ComplexType 13 | { 14 | public List StringListProperty { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Formatter/JsonLight/Metadata/Model/DerivedEntity.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.Test.E2E.AspNet.OData.Formatter.JsonLight.Metadata.Model 9 | { 10 | public class DerivedEntity : BaseEntity 11 | { 12 | public DerivedEntity() 13 | { 14 | } 15 | 16 | public DerivedEntity(int id) 17 | : base(id) 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Formatter/JsonLight/Metadata/Model/EntityWithComplexProperties.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.Formatter.JsonLight.Metadata.Model 11 | { 12 | public class EntityWithComplexProperties 13 | { 14 | public int Id { get; set; } 15 | public List StringListProperty { get; set; } 16 | public ComplexType ComplexProperty { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Formatter/JsonLight/Metadata/Model/OneToOneChild.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.Test.E2E.AspNet.OData.Formatter.JsonLight.Metadata.Model 9 | { 10 | public class OneToOneChild 11 | { 12 | public int Id { get; set; } 13 | public OneToOneParent Parent { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Formatter/JsonLight/Metadata/Model/OneToOneParent.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.Test.E2E.AspNet.OData.Formatter.JsonLight.Metadata.Model 9 | { 10 | public class OneToOneParent 11 | { 12 | public int Id { get; set; } 13 | public OneToOneChild Child { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Formatter/JsonLight/Metadata/Model/SimpleEnumeration.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.Test.E2E.AspNet.OData.Formatter.JsonLight.Metadata.Model 9 | { 10 | public enum SimpleEnumeration 11 | { 12 | FirstValue, 13 | SecondValue, 14 | ThirdValue 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Formatter/JsonLight/Metadata/Model/StubEntity.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.Test.E2E.AspNet.OData.Formatter.JsonLight.Metadata.Model 9 | { 10 | public class StubEntity 11 | { 12 | public int Id { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/MediaTypes/MediaTypesModels.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.Test.E2E.AspNet.OData.MediaTypes 9 | { 10 | public class MediaTypesOrder 11 | { 12 | public int Id { get; set; } 13 | public decimal Amount { get; set; } 14 | public long TrackingNumber { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/ODataCountTest/CountDataModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.ODataCountTest 11 | { 12 | public class Hero 13 | { 14 | public int Id { get; set; } 15 | 16 | public string Name { get; set; } 17 | 18 | public IList Weapons { get; set; } 19 | } 20 | 21 | public class Weapon 22 | { 23 | public int Id { get; set; } 24 | 25 | public string Name { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/QueryComposition/EnumTypeTests.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.Test.E2E.AspNet.OData.QueryComposition 9 | { 10 | public enum EnumType_Type 11 | { 12 | Task, 13 | Reminder 14 | } 15 | public class EnumType_Todo 16 | { 17 | public int ID { get; set; } 18 | public EnumType_Type Type { get; set; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/SingleResult/SingleResultEdmModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.OData.Edm; 9 | using Microsoft.Test.E2E.AspNet.OData.Common.Execution; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.SingleResultTest 12 | { 13 | public class SingleResultEdmModel 14 | { 15 | public static IEdmModel GetEdmModel(WebRouteConfiguration configuration) 16 | { 17 | var builder = configuration.CreateConventionModelBuilder(); 18 | builder.EntitySet("Customers"); 19 | builder.EntitySet("Orders"); 20 | return builder.GetEdmModel(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Singleton/ODataClient.odata.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/Spatial/SpatialModels.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.ComponentModel.DataAnnotations; 9 | using Microsoft.Spatial; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.Spatial 12 | { 13 | public class SpatialCustomer 14 | { 15 | [Key] 16 | public int CustomerId { get; set; } 17 | 18 | public string Name { get; set; } 19 | 20 | public GeographyPoint Location { get; set; } 21 | 22 | public GeographyLineString Region { get; set; } 23 | 24 | public GeometryPoint HomePoint { get; set; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/SxS/ODataV3/Models/ModelBuilder.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Web.Http.OData.Builder; 9 | using Microsoft.Data.Edm; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.SxS.ODataV3.Models 12 | { 13 | public static class ModelBuilder 14 | { 15 | public static IEdmModel GetEdmModel() 16 | { 17 | var builder = new ODataConventionModelBuilder(); 18 | builder.EntitySet("Products"); 19 | builder.EntitySet("Parts"); 20 | return builder.GetEdmModel(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/SxS/ODataV3/Models/Part.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | using System.Collections.Generic; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.SxS.ODataV3.Models 12 | { 13 | public class Part 14 | { 15 | public int PartId 16 | { 17 | get; 18 | set; 19 | } 20 | 21 | public DateTime ReleaseDateTime 22 | { 23 | get; 24 | set; 25 | } 26 | 27 | public virtual ICollection Products 28 | { 29 | get; 30 | set; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/SxS/ODataV3/Models/Product.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.SxS.ODataV3.Models 11 | { 12 | public class Product 13 | { 14 | public int Id 15 | { 16 | get; 17 | set; 18 | } 19 | 20 | public string Title 21 | { 22 | get; set; 23 | } 24 | 25 | public DateTime ManufactureDateTime 26 | { 27 | get; 28 | set; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/SxS/ODataV4/Models/ModelBuilder.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNet.OData.Builder; 9 | using Microsoft.OData.Edm; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.SxS.ODataV4.Models 12 | { 13 | public static class ModelBuilder 14 | { 15 | public static IEdmModel GetEdmModel() 16 | { 17 | var builder = new ODataConventionModelBuilder(); 18 | builder.EntitySet("Products"); 19 | builder.EntitySet("Parts"); 20 | return builder.GetEdmModel(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/SxS/ODataV4/Models/Product.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.SxS.ODataV4.Models 11 | { 12 | public class Product 13 | { 14 | public int Id 15 | { 16 | get; 17 | set; 18 | } 19 | 20 | public string Title 21 | { 22 | get; set; 23 | } 24 | 25 | public DateTimeOffset ManufactureDateTime 26 | { 27 | get; 28 | set; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/SxS2/ODataV3/Models/ModelBuilder.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Web.Http.OData.Builder; 9 | using Microsoft.Data.Edm; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.SxS2.ODataV3.Models 12 | { 13 | public static class ModelBuilder 14 | { 15 | public static IEdmModel GetEdmModel() 16 | { 17 | var builder = new ODataConventionModelBuilder(); 18 | builder.EntitySet("Products"); 19 | return builder.GetEdmModel(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/SxS2/ODataV3/Models/Product.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.SxS2.ODataV3.Models 11 | { 12 | public class Product 13 | { 14 | public int Id 15 | { 16 | get; 17 | set; 18 | } 19 | 20 | public string Title 21 | { 22 | get; set; 23 | } 24 | 25 | public DateTime ManufactureDateTime 26 | { 27 | get; 28 | set; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/SxS2/ODataV4/Models/ModelBuilder.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNet.OData.Builder; 9 | using Microsoft.OData.Edm; 10 | 11 | namespace Microsoft.Test.E2E.AspNet.OData.SxS2.ODataV4.Models 12 | { 13 | public static class ModelBuilder 14 | { 15 | public static IEdmModel GetEdmModel() 16 | { 17 | var builder = new ODataConventionModelBuilder(); 18 | builder.EntitySet("Products"); 19 | return builder.GetEdmModel(); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/E2ETest/Microsoft.Test.E2E.AspNet.OData/SxS2/ODataV4/Models/Product.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.Test.E2E.AspNet.OData.SxS2.ODataV4.Models 11 | { 12 | public class Product 13 | { 14 | public int Id 15 | { 16 | get; 17 | set; 18 | } 19 | 20 | public string Title 21 | { 22 | get; set; 23 | } 24 | 25 | public DateTimeOffset ManufactureDateTime 26 | { 27 | get; 28 | set; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /test/E2ETest/Relaxed.ruleset.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/PerfTest/WebApiPerformance.Service/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="WebApiPerformance.Service.WebApiApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /test/PerfTest/WebApiPerformance.Service/Global.asax.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Web; 9 | using System.Web.Http; 10 | 11 | namespace WebApiPerformance.Service 12 | { 13 | public class WebApiApplication : HttpApplication 14 | { 15 | protected void Application_Start() 16 | { 17 | GlobalConfiguration.Configure(WebApiConfig.Register); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/PerfTest/WebApiPerformance.Service/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/PerfTest/WebApiPerformance.Test/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/PerfTest/WebApiPerformance.Test/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /test/Relaxed.ruleset: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Batch/MockHttpRequestMessage.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Net.Http; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Batch 11 | { 12 | internal class MockHttpRequestMessage : HttpRequestMessage 13 | { 14 | public bool IsDisposed { get; set; } 15 | 16 | protected override void Dispose(bool disposing) 17 | { 18 | IsDisposed = true; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Batch/MockHttpResponseMessage.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Net.Http; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Batch 11 | { 12 | internal class MockHttpResponseMessage : HttpResponseMessage 13 | { 14 | public bool IsDisposed { get; set; } 15 | 16 | protected override void Dispose(bool disposing) 17 | { 18 | IsDisposed = true; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/Address.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 9 | { 10 | public class Address 11 | { 12 | public int HouseNumber { get; set; } 13 | public string Street { get; set; } 14 | public string City { get; set; } 15 | public string State { get; set; } 16 | public ZipCode ZipCode { get; set; } 17 | public string IgnoreThis { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/Client.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 11 | { 12 | public class Client 13 | { 14 | public int ID { get; set; } 15 | 16 | public string Name { get; set; } 17 | 18 | public virtual ICollection MyOrders { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/Color.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 11 | { 12 | [Flags] 13 | public enum Color 14 | { 15 | Red = 1, 16 | Green = 2, 17 | Blue = 4 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/DateTimeModel.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | using System.Collections.Generic; 10 | 11 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 12 | { 13 | public class DateTimeModel 14 | { 15 | public int Id { get; set; } 16 | 17 | public DateTime BirthdayA { get; set; } 18 | 19 | public DateTime? BirthdayB { get; set; } 20 | 21 | public IList BirthdayC { get; set; } 22 | 23 | public IList BirthdayD { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/DecimalScaleTestEntity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 4 | { 5 | public class DecimalRoundTestEntity 6 | { 7 | public Guid Id { get; set; } = Guid.NewGuid(); 8 | public decimal ExpectedDecimalValue { get; set; } 9 | public decimal ActualDecimalValue { get; set; } 10 | public DecimalRoundTestEntity(decimal actualValue, decimal expectedValue) 11 | { 12 | ActualDecimalValue = actualValue; 13 | ExpectedDecimalValue = expectedValue; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/Gift.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 9 | { 10 | public class Gift 11 | { 12 | public int ID { get; set; } 13 | 14 | public int orderId { get; set; } 15 | 16 | public string Name { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/ModelAlias.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Runtime.Serialization; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 11 | { 12 | [DataContract(Namespace = "com.contoso", Name = "ModelAlias2")] 13 | public class ModelAlias 14 | { 15 | [DataMember] 16 | public int Id { get; set; } 17 | 18 | [DataMember] 19 | public string FirstName { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/MySpecialOrder.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNet.OData.Builder; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 11 | { 12 | public class MySpecialOrder : MyOrder 13 | { 14 | public bool IsGift { get; set; } 15 | 16 | [Contained] 17 | public virtual Gift Gift { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/Order.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 11 | { 12 | public class Order 13 | { 14 | public int OrderId { get; set; } 15 | public Customer Customer { get; set; } 16 | public decimal Cost { get; set; } 17 | public decimal Price { get; set; } 18 | public DateTimeOffset OrderDate { get; set; } 19 | public DateTimeOffset? DeliveryDate { get; set; } 20 | public decimal TotalPrice { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/OrderCancellation.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 9 | { 10 | public class OrderCancellation 11 | { 12 | public int ID { get; set; } 13 | 14 | public string Name { get; set; } 15 | 16 | public int OrderId { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/OrderHeader.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 9 | { 10 | public class OrderHeader 11 | { 12 | public int ID { get; set; } 13 | 14 | public string Name { get; set; } 15 | 16 | public int OrderId { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/OrderItem.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | using Microsoft.AspNet.OData.Builder; 10 | 11 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 12 | { 13 | public class OrderItem 14 | { 15 | public int ID { get; set; } 16 | 17 | public string Name { get; set; } 18 | 19 | public int OrderId { get; set; } 20 | 21 | [Contained] 22 | public IList OrderItemDetails { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/OrderItemDetail.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 9 | { 10 | public class OrderItemDetail 11 | { 12 | public int ID { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/OrderLine.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 9 | { 10 | public class OrderLine 11 | { 12 | public int ID { get; set; } 13 | 14 | public string Name { get; set; } 15 | 16 | public int OrderId { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/SpecialOrderLine.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 9 | { 10 | public class SpecialOrderLine : OrderLine 11 | { 12 | public string MoonCake { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Builder/TestModels/ZipCode.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Builder.TestModels 9 | { 10 | public class ZipCode 11 | { 12 | public string Part1 { get; set; } 13 | public string Part2 { get; set; } 14 | } 15 | 16 | public class RecursiveZipCode 17 | { 18 | public string Part1 { get; set; } 19 | public string Part2 { get; set; } 20 | public RecursiveZipCode Recursive { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/ClrPropertyInfoAnnotationTest.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNet.OData.Test.Common; 9 | using Xunit; 10 | 11 | namespace Microsoft.AspNet.OData.Test 12 | { 13 | public class ClrPropertyInfoAnnotationTest 14 | { 15 | [Fact] 16 | public void Ctor_ThrowsForNullPropertyInfo() 17 | { 18 | ExceptionAssert.ThrowsArgumentNull( 19 | () => new ClrPropertyInfoAnnotation(clrPropertyInfo: null), 20 | "clrPropertyInfo"); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Common/DataAttribute.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Common 11 | { 12 | [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)] 13 | public abstract class DataAttribute : Xunit.Sdk.DataAttribute 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Common/Types/ByteEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Types 9 | { 10 | public enum ByteEnum : byte 11 | { 12 | FirstByte, 13 | SecondByte, 14 | ThirdByte 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Common/Types/FlagsEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Common.Types 11 | { 12 | [Flags] 13 | public enum FlagsEnum 14 | { 15 | One = 0x1, 16 | Two = 0x2, 17 | Four = 0x4 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Common/Types/INameAndIdContainer.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Types 9 | { 10 | /// 11 | /// Tagging interface to assist comparing instances of these types. 12 | /// 13 | public interface INameAndIdContainer 14 | { 15 | string Name { get; set; } 16 | 17 | int Id { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Common/Types/LongEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Types 9 | { 10 | public enum LongEnum : long 11 | { 12 | FirstLong, 13 | SecondLong, 14 | ThirdLong, 15 | FourthLong 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Common/Types/SByteEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Types 9 | { 10 | public enum SByteEnum : sbyte 11 | { 12 | FirstSByte, 13 | SecondSByte, 14 | ThirdSByte 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Common/Types/ShortEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Types 9 | { 10 | public enum ShortEnum : short 11 | { 12 | FirstShort, 13 | SecondShort, 14 | ThirdShort 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Common/Types/SimpleEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Types 9 | { 10 | public enum SimpleEnum 11 | { 12 | First, 13 | Second, 14 | Third, 15 | Fourth 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Common/Types/UIntEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Types 9 | { 10 | public enum UIntEnum : uint 11 | { 12 | FirstUInt, 13 | SecondUInt, 14 | ThirdUInt 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Common/Types/UShortEnum.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Types 9 | { 10 | public enum UShortEnum : ushort 11 | { 12 | FirstUShort, 13 | SecondUShort, 14 | ThirdUShort 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Formatter/JsonAssert.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Newtonsoft.Json.Linq; 9 | using Xunit; 10 | 11 | namespace Microsoft.AspNet.OData.Test.Formatter 12 | { 13 | internal static class JsonAssert 14 | { 15 | public static void Equal(string expected, string actual) 16 | { 17 | Assert.Equal(JToken.Parse(expected), JToken.Parse(actual), JToken.EqualityComparer); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Formatter/Serialization/Models/Order.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Formatter.Serialization.Models 11 | { 12 | public class Order 13 | { 14 | public int ID { get; set; } 15 | public string Name { get; set; } 16 | public string City { get; set; } 17 | public Customer Customer { get; set; } 18 | public IDictionary OrderProperties { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Formatter/Serialization/ODataPayloadKindHelperTests.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNet.OData.Formatter.Serialization; 9 | using Microsoft.AspNet.OData.Test.Common; 10 | using Microsoft.OData; 11 | 12 | namespace Microsoft.AspNet.OData.Test.Formatter.Serialization 13 | { 14 | public class ODataPayloadKindHelperTests : EnumHelperTestBase 15 | { 16 | public ODataPayloadKindHelperTests() 17 | : base(ODataPayloadKindHelper.IsDefined, ODataPayloadKindHelper.Validate, (ODataPayloadKind)999) 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/HttpConfigurationExtensions.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | #if !NETCORE // TODO #939: Enable these test on AspNetCore. 9 | using System.Web.Http; 10 | using Microsoft.AspNet.OData.Extensions; 11 | using Microsoft.OData.Edm; 12 | 13 | namespace Microsoft.AspNet.OData.Test 14 | { 15 | internal static class HttpConfigurationExtensions 16 | { 17 | public static void MapODataServiceRoute(this HttpConfiguration configuration, IEdmModel model) 18 | { 19 | configuration.MapODataServiceRoute("IgnoredRouteName", null, model); 20 | } 21 | } 22 | } 23 | #endif 24 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Query/HandleNullPropagationOptionHelperTest.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNet.OData.Query; 9 | using Microsoft.AspNet.OData.Test.Common; 10 | 11 | namespace Microsoft.AspNet.OData.Test.Query 12 | { 13 | public class HandleNullPropagationOptionHelperTest : EnumHelperTestBase 14 | { 15 | public HandleNullPropagationOptionHelperTest() 16 | : base(HandleNullPropagationOptionHelper.IsDefined, HandleNullPropagationOptionHelper.Validate, (HandleNullPropagationOption)999) 17 | { 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/ArrayOfBoolean.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Collection(Edm.Boolean)","value":[ 3 | true,false,true,false 4 | ] 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/ArrayOfByteFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Binary","@odata.type":"#Binary","value":"AAIgQID/" 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/ArrayOfByteInXml.xml: -------------------------------------------------------------------------------- 1 |  2 | AAIgQID/ -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/ArrayOfInt32.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Collection(Edm.Int32)","value":[ 3 | 10,20,30,40,50 4 | ] 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/BooleanFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Boolean","value":true 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/ByteFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Byte","@odata.type":"#Byte","value":64 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/DateFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Date","@odata.type":"#Date","value":"2014-10-14" 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/DateTimeOffsetFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.DateTimeOffset","@odata.type":"#DateTimeOffset","value":"2010-01-01T00:00:00Z" 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/DecimalFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Decimal","@odata.type":"#Decimal","value":12345.99999 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/DoubleFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Double","value":99999.12345 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/EmployeeEntry.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#employees/$entity","EmployeeId":0,"Age":20,"Gender":"Male","FirstName":"Frank","Alias":[ 3 | "Alias0" 4 | ],"Address":{ 5 | "StreetAddress":"StreetAddress1","City":"City1","State":"State1","ZipCode":1 6 | },"HomeNumber":{ 7 | "CountryCode":1,"AreaCode":425,"Number":9879089,"PhoneType":"HomePhone" 8 | },"FavoriteHobby":{ 9 | "ActivityName":"Xbox Gaming" 10 | } 11 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/EntityNavigationToSingletonFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/odata/$metadata#Oscorp","@odata.type":"#Microsoft.AspNet.OData.Test.Corporation","@odata.id":"http://localhost/odata/Oscorp","@odata.editLink":"http://localhost/odata/Oscorp","CorpId":9999,"CorpName":"Oscorp Enterprise","CorpWeb":"www.Oscorp.com","CorpAddress":"Oscorp Way #001","SubSidiaries@odata.associationLink":"http://localhost/odata/Oscorp/SubSidiaries/$ref","SubSidiaries@odata.navigationLink":"http://localhost/odata/Oscorp/SubSidiaries" 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/FeedOfEmployee.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#employees","value":[ 3 | { 4 | "EmployeeId":0,"Age":20,"Gender":"Male","FirstName":"Frank","Alias":[ 5 | "Alias0" 6 | ],"Address":{ 7 | "StreetAddress":"StreetAddress1","City":"City1","State":"State1","ZipCode":1 8 | },"HomeNumber":{ 9 | "CountryCode":1,"AreaCode":425,"Number":9879089,"PhoneType":"HomePhone" 10 | },"FavoriteHobby":{ 11 | "ActivityName":"Xbox Gaming" 12 | } 13 | },{ 14 | "EmployeeId":1,"Age":21,"Gender":"Male","FirstName":"Steve","Alias":[ 15 | "Alias1" 16 | ],"Address":{ 17 | "StreetAddress":"StreetAddress2","City":"City2","State":"State2","ZipCode":2 18 | },"HomeNumber":{ 19 | "CountryCode":1,"AreaCode":425,"Number":9879090,"PhoneType":"HomePhone" 20 | },"FavoriteHobby":{ 21 | "ActivityName":"Xbox Gaming" 22 | } 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/GuidFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Guid","@odata.type":"#Guid","value":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d" 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/Int16FullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Int16","@odata.type":"#Int16","value":-32768 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/Int32FullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Int32","value":-2147483648 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/Int64FullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Int64","@odata.type":"#Int64","value":-9223372036854775808 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/ListOfString.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Collection(Edm.String)","value":[ 3 | "Frank","Steve","Tom","Chandler" 4 | ] 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/MainEntryFeedInJsonNoMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.count":3,"value":[ 3 | { 4 | "Id":1,"Int16":-1 5 | },{ 6 | "Id":2,"Int16":-2 7 | } 8 | ],"@odata.nextLink":"aa:b" 9 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/NullableBooleanFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Boolean","value":false 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/NullableInt32FullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Null","@odata.null":true 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/NullableInt32NoMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.null":true 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PeopleWithAllAnnotations.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost:8081/$metadata#People/$entity","@odata.id":"http://localhost:8081/People(2)","Entry.GuidAnnotation@odata.type":"#Guid","@Entry.GuidAnnotation":"a6e07eac-ad49-4bf7-a06e-203ff4d4b0d8","@Hello.World":"Hello World.","PerId":2,"Property.BirthdayAnnotation@odata.type":"#Date","Age@Property.BirthdayAnnotation":"2010-01-02","Age":10,"MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d","Name":"Asha","FavoriteColor":"Red, Green","Order":{ 3 | "OrderAmount":235342,"OrderName":"FirstOrder" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PeopleWithMultipleAnnotations.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost:8081/$metadata#People/$entity","@odata.id":"http://localhost:8081/People(2)","@Hello.World":"Hello World.","PerId":2,"Property.BirthdayAnnotation@odata.type":"#Date","Age@Property.BirthdayAnnotation":"2010-01-02","Age":10,"MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d","Name":"Asha","FavoriteColor":"Red, Green","Order":{ 3 | "OrderAmount":235342,"OrderName":"FirstOrder" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PeopleWithSpecialAnnotations.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost:8081/$metadata#People/$entity","@odata.id":"http://localhost:8081/People(2)","Entry.GuidAnnotation@odata.type":"#Guid","@Entry.GuidAnnotation":"a6e07eac-ad49-4bf7-a06e-203ff4d4b0d8","PerId":2,"Age":10,"MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d","Name":"Asha","FavoriteColor":"Red, Green","Order":{ 3 | "OrderAmount":235342,"OrderName":"FirstOrder" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PeopleWithoutAnnotations.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost:8081/$metadata#People/$entity","@odata.id":"http://localhost:8081/People(2)","PerId":2,"Age":10,"MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d","Name":"Asha","FavoriteColor":"Red, Green","Order":{ 3 | "OrderAmount":235342,"OrderName":"FirstOrder" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PersonComplexType.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Microsoft.AspNet.OData.Test.Common.Models.Person","Age":20,"Gender":"Male","FirstName":"Frank","Alias":[ 3 | "Alias0" 4 | ],"Address":{ 5 | "StreetAddress":"StreetAddress1","City":"City1","State":"State1","ZipCode":1 6 | },"HomeNumber":{ 7 | "CountryCode":1,"AreaCode":425,"Number":9879089,"PhoneType":"HomePhone" 8 | },"FavoriteHobby":{ 9 | "ActivityName":"Xbox Gaming" 10 | } 11 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PersonEntryInJsonFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost:8081/$metadata#People/$entity","@odata.type":"#Microsoft.AspNet.OData.Test.Formatter.FormatterPerson","@odata.id":"http://localhost:8081/People(10)","PerId":10,"Age":10,"MyGuid@odata.type":"#Guid","MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d","Name":"Asha","Order":{ 3 | "@odata.type":"#Microsoft.AspNet.OData.Test.Formatter.FormatterOrder","OrderAmount":235342,"OrderName":"FirstOrder" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PersonEntryInJsonLight.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost:8081/$metadata#People/$entity","@odata.id":"http://localhost:8081/People(10)","PerId":10,"Age":10,"MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d","Name":"Asha","FavoriteColor":"Red, Green","Order":{ 3 | "OrderAmount":235342,"OrderName":"FirstOrder" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PersonEntryInJsonLightFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost:8081/$metadata#People/$entity","@odata.type":"#Microsoft.AspNet.OData.Test.Formatter.FormatterPerson","@odata.id":"http://localhost:8081/People(10)","@odata.editLink":"People(10)","PerId":10,"Age":10,"MyGuid@odata.type":"#Guid","MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d","Name":"Asha","FavoriteColor@odata.type":"#Microsoft.AspNet.OData.Test.Builder.TestModels.Color","FavoriteColor":"Red, Green","Order":{ 3 | "@odata.type":"#Microsoft.AspNet.OData.Test.Formatter.FormatterOrder","OrderAmount":235342,"OrderName":"FirstOrder" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PersonEntryInJsonLightMinimalMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost:8081/$metadata#People/$entity","@odata.id":"http://localhost:8081/People(10)","PerId":10,"Age":10,"MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d","Name":"Asha","FavoriteColor":"Red, Green","Order":{ 3 | "OrderAmount":235342,"OrderName":"FirstOrder" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PersonEntryInJsonLightNoMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "PerId":10,"Age":10,"MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d","Name":"Asha","FavoriteColor":"Red, Green","Order":{ 3 | "OrderAmount":235342,"OrderName":"FirstOrder" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PersonEntryInPlainOldJson.json: -------------------------------------------------------------------------------- 1 | {"Age":10,"MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d","Name":"Asha","FavoriteColor":3,"Order":{"OrderAmount":235342,"OrderName":"FirstOrder"},"PerId":10} -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PersonRequestEntryInPlainOldJson.json: -------------------------------------------------------------------------------- 1 | { 2 | "PerId":10, 3 | "Age":10, 4 | "MyGuid":"f99080c0-2f9e-472e-8c72-1a8ecd9f902d", 5 | "Name":"Asha", 6 | "Order":{ 7 | "OrderAmount":235342, 8 | "OrderName":"FirstOrder" 9 | } 10 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PresidentInJsonLightFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost:8081/$metadata#President","@odata.type":"#Microsoft.AspNet.OData.Test.Formatter.FormatterPerson","@odata.id":"http://localhost:8081/President","@odata.editLink":"President","PerId":1,"Age":52,"MyGuid@odata.type":"#Guid","MyGuid":"0fffef2b-e5de-4b7c-b943-b1f7da006fcd","Name":"Barack Obama","FavoriteColor@odata.type":"#Microsoft.AspNet.OData.Test.Builder.TestModels.Color","FavoriteColor":"0","Order":{ 3 | "@odata.type":"#Microsoft.AspNet.OData.Test.Formatter.FormatterOrder","OrderAmount":12345,"OrderName":"US Order" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PresidentInJsonLightMinimalMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost:8081/$metadata#President","@odata.id":"http://localhost:8081/President","PerId":1,"Age":52,"MyGuid":"0fffef2b-e5de-4b7c-b943-b1f7da006fcd","Name":"Barack Obama","FavoriteColor":"0","Order":{ 3 | "OrderAmount":12345,"OrderName":"US Order" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/PresidentInJsonLightNoMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "PerId":1,"Age":52,"MyGuid":"0fffef2b-e5de-4b7c-b943-b1f7da006fcd","Name":"Barack Obama","FavoriteColor":"0","Order":{ 3 | "OrderAmount":12345,"OrderName":"US Order" 4 | } 5 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/ProductRequestEntry.json: -------------------------------------------------------------------------------- 1 | { 2 | "ID":0, 3 | "Name":"Bread", 4 | "Description":"Whole grain bread", 5 | "ReleaseDate":"1992-01-01T00:00:00Z", 6 | "PublishDate":"1997-07-01", 7 | "DiscontinuedDate":null, 8 | "Rating":4, 9 | "Price":2.5 10 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/SByteFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.SByte","@odata.type":"#SByte","value":-128 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/SingleFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Single","@odata.type":"#Single","value":"INF" 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/SingletonSelectAndExpand.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/odata/$metadata#Me/Microsoft.AspNet.OData.Test.Formatter.Serialization.Models.SpecialCustomer(Orders,Orders(Name))","@odata.type":"#Microsoft.AspNet.OData.Test.Formatter.Serialization.Models.SpecialCustomer","Orders":[ 3 | { 4 | "Name":"Order #0" 5 | },{ 6 | "Name":"Order #1" 7 | },{ 8 | "Name":"Order #2" 9 | },{ 10 | "Name":"Order #3" 11 | },{ 12 | "Name":"Order #4" 13 | },{ 14 | "Name":"Order #5" 15 | },{ 16 | "Name":"Order #6" 17 | },{ 18 | "Name":"Order #7" 19 | },{ 20 | "Name":"Order #8" 21 | },{ 22 | "Name":"Order #9" 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/StringFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.String","value":"This is a Test String" 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/StringNoMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "value":"This is a Test String" 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/SupplierPatch.json: -------------------------------------------------------------------------------- 1 | { 2 | "ID":123, 3 | "Name":"Supplier Name", 4 | "Address": 5 | { 6 | "Street":"Supplier Street", 7 | "City":"Supplier City", 8 | "State":"WA", 9 | "ZipCode":"123456", 10 | "CountryOrRegion":"USA" 11 | } 12 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/TimeOfDayFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.TimeOfDay","@odata.type":"#TimeOfDay","value":"12:13:14.0150000" 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/TimeSpanFullMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#Edm.Duration","@odata.type":"#Duration","value":"PT1H" 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/Resources/WorkItemEntry.json: -------------------------------------------------------------------------------- 1 | { 2 | "@odata.context":"http://localhost/$metadata#WorkItems/$entity","ID":25,"EmployeeID":0,"IsCompleted":false,"NumberOfHours":100 3 | } -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/Models/ComplexTypes/POCO/Gender.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Models 9 | { 10 | public enum Gender 11 | { 12 | Male, 13 | Female 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/Models/ComplexTypes/POCO/IActivity.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Models 9 | { 10 | public interface IActivity 11 | { 12 | string ActivityName { get; set; } 13 | 14 | void DoActivity(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/Models/ComplexTypes/POCO/PhoneNumber.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Models 9 | { 10 | public struct PhoneNumber 11 | { 12 | public int CountryCode { get; set; } 13 | 14 | public int AreaCode { get; set; } 15 | 16 | public int Number { get; set; } 17 | 18 | public PhoneType PhoneType { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/Models/ComplexTypes/POCO/PhoneType.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Models 9 | { 10 | public enum PhoneType 11 | { 12 | HomePhone, 13 | CellPhone, 14 | WorkPhone, 15 | Fax 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/Models/EntityTypes/POCO/AddressEntity.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Models 9 | { 10 | public class AddressEntity 11 | { 12 | public int ID { get; set; } 13 | 14 | public string StreetAddress { get; set; } 15 | 16 | public string City { get; set; } 17 | 18 | public string State { get; set; } 19 | 20 | public int ZipCode { get; set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/Models/EntityTypes/POCO/WorkItem.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common.Models 9 | { 10 | public class WorkItem 11 | { 12 | //Automatically is made Key 13 | public int ID { get; set; } 14 | 15 | public int EmployeeID { get; set; } 16 | 17 | public bool IsCompleted { get; set; } 18 | 19 | public float NumberOfHours { get; set; } 20 | 21 | public int Field; 22 | } 23 | 24 | // Used as a type on which keys can be explicitly set 25 | public class DerivedWorkItem : WorkItem 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/Models/NonGenericEnumerable.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System; 9 | using System.Collections; 10 | 11 | namespace Microsoft.AspNet.OData.Test.Common.Models 12 | { 13 | public class NonGenericEnumerable : IEnumerable 14 | { 15 | public IEnumerator GetEnumerator() 16 | { 17 | throw new NotImplementedException(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/SimpleOpenAddress.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | using Microsoft.AspNet.OData.Builder; 10 | 11 | namespace Microsoft.AspNet.OData.Test.Common 12 | { 13 | public class SimpleOpenAddress 14 | { 15 | public string Street { get; set; } 16 | public string City { get; set; } 17 | public IDictionary Properties { get; set; } 18 | public ODataInstanceAnnotationContainer InstanceAnnotations { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/SimpleOpenZipCode.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Collections.Generic; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Common 11 | { 12 | public class SimpleOpenZipCode 13 | { 14 | public int Code { get; set; } 15 | public IDictionary Properties { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/SimpleVipCustomer.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common 9 | { 10 | public class SimpleVipCustomer : SimpleOpenCustomer 11 | { 12 | public string VipNum { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/SupportedTypes.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common 9 | { 10 | public enum SupportedTypes 11 | { 12 | Person, 13 | Employee, 14 | MultipleKeyEmployee, 15 | Address, 16 | WorkItem, 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test.Shared/TestCommon/TestControllerBase.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Common 9 | { 10 | /// 11 | /// A generic controller base which derives from a platform-specific type. 12 | /// 13 | #if NETCORE 14 | public class TestControllerBase : Microsoft.AspNetCore.Mvc.ControllerBase 15 | { 16 | } 17 | #else 18 | public class TestControllerBase : System.Web.Http.ApiController 19 | { 20 | } 21 | #endif 22 | } 23 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test/Abstraction/TestNonODataController.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using System.Web.Http; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Abstraction 11 | { 12 | /// 13 | /// NonODataController is an abstracted ASP.NET [Core] controller. 14 | /// 15 | public class TestNonODataController : ApiController 16 | { 17 | [NonAction] 18 | public new TestOkObjectResult Ok(T value) { return new TestOkObjectResult(base.Ok(value)); } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test/PublicApi/PublicApiTest.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.PublicApi 9 | { 10 | public partial class PublicApiTest 11 | { 12 | private const string AssemblyName = "Microsoft.AspNet.OData.dll"; 13 | private const string OutputFileName = "Microsoft.AspNet.OData.PublicApi.out"; 14 | private const string BaseLineFileName = "Microsoft.AspNet.OData.PublicApi.bsl"; 15 | private const string BaseLineFileFolder = @"test\UnitTest\Microsoft.AspNet.OData.Test\PublicApi\"; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNet.OData.Test/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNetCore.OData.Test/Abstraction/HttpRouteCollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | namespace Microsoft.AspNet.OData.Test.Abstraction 9 | { 10 | internal static class HttpRouteCollectionExtensions 11 | { 12 | public static string RouteName 13 | { 14 | get 15 | { 16 | return "OData"; 17 | } 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNetCore.OData.Test/Abstraction/TestNonODataController.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) .NET Foundation and Contributors. All rights reserved. 4 | // See License.txt in the project root for license information. 5 | // 6 | //------------------------------------------------------------------------------ 7 | 8 | using Microsoft.AspNetCore.Mvc; 9 | 10 | namespace Microsoft.AspNet.OData.Test.Abstraction 11 | { 12 | /// 13 | /// NonODataController is an abstracted ASP.NET [Core] controller. 14 | /// 15 | public class TestNonODataController : Controller 16 | { 17 | [NonAction] 18 | public new TestOkObjectResult Ok(object value) { return new TestOkObjectResult(value); } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /test/UnitTest/Microsoft.AspNetCore.OData.Test/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tools/35MSSharedLib1024.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OData/WebApi/59f387a6c57d78cb9d27ee4d7a7ba71c34adb2f2/tools/35MSSharedLib1024.snk -------------------------------------------------------------------------------- /tools/WebStack.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tools/WebStack.xunit.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | 21 | --------------------------------------------------------------------------------