├── .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 |
--------------------------------------------------------------------------------