V6.0.0-beta
We're pleased to announce Web API OData V6.0.0-beta has been published to Nuget. Web API OData V6.0.0-beta is a breaking change version dependent on OData Lib v7.0.0 breaking change.
Download & try the Web API OData V6.0.0-beta right now!
Breaking Changes:
- Unify the entity and complex (collection) type serialization/deserialization, See [ [odata issue #504](https://github.com/OData/odata.net/issues/504) ] - Rename `ODataFeed` to `ODataResourceSet` - Rename `ODataEntry` to `ODataResource` - Rename `ODataNavigationLink` to `ODataNestedResourceInfo` - Rename `ODataPayloadKind.Entry` to `ODataPayloadKind.Resource` - Rename `ODataPayloadKind.Feed` to `ODataPayloadKind.ResourceSet` - Rename `ODataEntityTypeSerializer` to `ODataResourceSerializer` - Rename `ODataFeedSerializer` to `ODataResourceSetSerizlier` - Rename `ODataEntityDeserializer` to `ODataResourceDeserializer` - Rename `ODataFeedDeserializer` to `ODataResourceSetDeserializer` - Remove `ODataComplexValue` - Remove `ODataComplexSerializer/ODataComplexTypeDeserializer` - [Issue #745] Support dependency injection (DI). - Integrate with the very popular DI framework [Microsoft.Extensions.DependencyInjection](https://www.nuget.org/packages/Microsoft.Extensions.DependencyInjection/). - Enable extremely easy customization of many services in Web API OData using DI. - Simplify APIs by removing redundant parameters and properties that have corresponding services registered in DI. - [Issue #681] Using ODL path segment classes directly. - Remove all path segment classes defined in Web API OData. - Using the ODL path segment classes and template classes - [Issue #693] [Support new model bound attributes.](http://odata.github.io/WebApi/#13-01-modelbound-attribute) - New attribute classes, ( for example `FilterAttribute`, `OrderbyAttribute`, etc ) used to enhance query options validation. - Support complex type with navigation property. - `HasMany(), HasRequired(), HasOptional` can be used on complex type to add navigation property. - Support navigation property on complex type in convention model builder. - Remove `INavigationSourceConfiguration` and `DeclaringEntityType` property - Support multiple navigation property bindings for a single navigation property by using different paths, see [ [odata issue #629](https://github.com/OData/odata.net/issues/629) ] - New `BindingPathConfiguration` class used to add binding path - New `NavigationPropertyBindingOption` used to control binding in model builder. - [Issue #764] public `IsIfNoneMatch` property - [Issue #797] public Convert APIs in ODataModelBinderProvider. - [Issue #172] ETagMessageHandler is not supporting typeless entities. - [Issue #652] Change Delta for complex/entity type patch.Migration ODL changes:
- Simplified ODL namespaces, see [ [odata issue #491](https://github.com/OData/odata.net/issues/491) ] - Rename ODataUrlConvention to ODataUrlKeyDelimiter, see [ [odata issue #571](https://github.com/OData/odata.net/issues/571) ] - Rename ODataUrlConvention to ODataUrlKeyDelimiter. - Use ODataUrlKeyDelimiter.Slash instead of ODataUrlConvention.Simplified or ODataUrlConvention.KeyAsSegment - Use ODataUrlKeyDelimiter.Parentheses instead of ODataUrlConvention.Default - Change SerializationTypeNameAnnotation to ODataTypeAnnotation, see [ [odata issue #614](https://github.com/OData/odata.net/issues/614) ] - Change Enum member value type from IEdmPrimitiveValue to a more specific type, see [ [odata issue #544](https://github.com/OData/odata.net/issues/544) ] - Adjust query node kinds in Uri Parser in order to support navigation under complex. see [ [odata issue #643](https://github.com/OData/odata.net/issues/643) ] - Add SingleComplexNode and CollectionComplexNode to specifically represent complex type node. - Add SingleResourceNode as the base class of SingleEntityNode and SingleComplexNode, etc. - Rename CsdlXXX to SchemaXXX, and EdmxXXX to CsdlXXX, see [ [odata issue #632](https://github.com/OData/odata.net/issues/632) ] - CsdlReader/Writer to SchemaReader/Writer; - EdmxReader/Writer to CsdlReader/Writer; - EdmxReaderSettings to CsdlReaderSettings; - EdmxTarget to CsdlTarget - Remove Edm.ConcurrencyMode attribute. see [ [odata issue #564](https://github.com/OData/odata.net/issues/564) ] - Remove `odata.null` in ODL. It's developer's responsibility to check whether the return object is null or not.Improvements & Fixes:
- [Issue #719] ODataSwaggerConverter throws exception on composite key. - [Issue #711] Using same enum twice in a model causes null reference exception. - [Issue #697] EnumMember attribute without value. - [Issue #726] Aggregation failed in Restier. - [Issue #706] Change substringof to contained builtin function. - [Issue #722] URI template parser doesn't work correctly if key is of an enum type, see [ [odata issue #556](https://github.com/OData/odata.net/issues/556) ] - [Issue #630] Orderby with duplicate properties.Here can find the OData V4 7.0.0 breaking changes docs and tutorials.