The context URL for a property request is not right.

Say AccessLevel is an enum type property of Entity type Employee, if GET ~/Employees(1)/AccessLevel is requested then: Expected: { "@odata.context":"http://jinfutan03:9124/convention/$metadata#...

Id #1843 | Release: None | Updated: Today at 3:11 AM by jinfutan | Created: Today at 3:11 AM by jinfutan

HasIdLink, HasEditLink and HasSelfLink should not must be called if these links follow convention.

Now EntitySetConfiguration has 3 API HasIdLink, HasEditLink and HasSelfLink, and they are used to generate corresponding links. Give that ODL can now generate them automatically, so these 3 APIs ...

Id #1842 | Release: None | Updated: Today at 3:04 AM by jinfutan | Created: Today at 3:04 AM by jinfutan

Forbid posting a singleton from navigation link

Assume we have an entityset named "Partners" which has a navigation property "Company". If company is binding to a singleton, then post to company should be forbidden. That is: "POST Partners(1)...

Id #1841 | Release: None | Updated: Tue at 8:12 AM by jinfutan | Created: Tue at 6:01 AM by zoluo

Bound Function should return the correct navigation source

Current, call GetNavigationSource() of Bound function will return the previous navigation source. As expect, it should return the navigation source by the function return type.

Id #1840 | Release: v5.2 RTM | Updated: Mon at 7:33 AM by xuzhg | Created: Mon at 7:33 AM by xuzhg

Add support to Requesting Entity References

Now we only support requesting Navigation Link, but not for association link. It is unable to issue a GET request to ~/odata/Products(1)/Supplier/$ref. Protocol http://docs.oasis-open.org/odata/...

Id #1839 | Release: None | Updated: Mon at 3:42 AM by jinfutan | Created: Mon at 3:42 AM by jinfutan

Razor - Cannot trigger content mode/need better error message

As described in this stackoverflow Razor breaks on the following code @if (true) { <script type="text/javascript"> var a = '<script></script>'; </script> } indicating an error on the javas...

Id #1838 | Release: None | Updated: Wed at 9:51 PM by Togakangaroo | Created: Sat at 5:38 PM by Togakangaroo

Support other top-level elements in ValidationSummary()

Currently ValidationSummary() always generates a <span> element wrapping the provided message text. User abutland has pointed out on a discussion page that <span> leads to accessibility issues -- ...

Id #1836 | Release: v5.2 RC | Updated: Wed at 4:06 AM by dougbu | Created: Sat at 1:18 AM by dougbu

ID defined in the base type

The scenario is oData v4 (it worked in v3). I am exposing the model as interfaces and it all works until I use the EnableQueryAttribute over the get method. As soon as the attribute is applied, t...

Id #1834 | Release: None | Updated: Wed at 9:08 PM by kamehrot | Created: Apr 11 at 2:16 PM by raffaeler

Formatters are not found for entities exposed as interfaces

This scenario is using oData v4. I exposed a model as interfaces by mapping both concrete and interface types in the model. (next step will be to strip the concrete types from the $metadata) Wh...

Id #1833 | Release: None | Updated: Wed at 9:21 PM by kamehrot | Created: Apr 11 at 11:11 AM by raffaeler

Multiple Areas Routing Issue

Hello, Found that issue today, trying to solve my routing problem. Given: Areas - Frontend, Backend, Administration Adding new Area: iOSPaymentGate public class iOSPaymentAreaRegistration : ...

Id #1832 | Release: None | Updated: Wed at 9:31 PM by danroth27 | Created: Apr 10 at 10:49 PM by georgetagirov

Web API: ReadAsMultipartAsync

Request.Content.ReadAsMultipartAsync(provider) appears to not be able to parse multi part form data from an Post/Put. I am using Web Api 2.1.2 POST http://api.tof.oa.com/api/v1/Message/SendMail...

Id #1831 | Release: None | Updated: Wed at 9:34 PM by danroth27 | Created: Apr 10 at 6:24 AM by shanyou

Cannot update an dynamic collection property

Updating dynamic collection property is not supported. After updating the a collection dynamic property, the valuetype of the dynamic property in dictionary is ODataCollectionValue. which cannot...

Id #1830 | Release: v5.2 RC | Updated: Apr 10 at 6:06 AM by xuzhg | Created: Apr 10 at 6:06 AM by xuzhg

OData.Error thrown in Delegating Handler is returned in JSON format when Accept:application/atom+xml

Hello, I have OData Web API service with custom Delegating Handler. When an exception occurs in the handler it creates and returns an error response. The response returned to the client always ha...

Id #1828 | Release: None | Updated: Apr 9 at 9:16 PM by danroth27 | Created: Apr 9 at 8:52 PM by dmoeff

Should not throw when the target type of cast is not primitive or enumeration type

Should not throw when the target type of cast is not primitive or enumeration type. such as: cast(null,NS.ComplexType) cast(null,NS.EntityType)

Id #1827 | Release: None | Updated: Apr 8 at 6:03 AM by fenzhao | Created: Apr 8 at 6:03 AM by fenzhao

Remove single quotes on enumeration types in cast

According to OData V4 spec, there are no single quotes on type name in cast. Non-enumeration primitive types have no single quotes now, but enumeration types won't work without single quotes. Sho...

Id #1826 | Release: None | Updated: Apr 8 at 5:38 AM by fenzhao | Created: Apr 8 at 5:21 AM by fenzhao

Migrate to ODL V6.2

ODL V6.2 is released in Nuget. In this new version, it includes a new Uri parser for WebAPI. So, we should update to this new version to use this new Uri parser.

Id #1825 | Release: v5.2 RTM | Updated: Apr 8 at 2:49 AM by xuzhg | Created: Apr 8 at 2:32 AM by xuzhg

Should not throw exception for invalid enum cast in query option

Now the ODataQueryOptionParser and ODataUriParser will throw ODataException for invalid enum cast in query option, which is not expected. According OData V4 spec, invalid cast should return null. ...

Id #1824 | Release: None | Updated: Apr 6 at 2:08 AM by fenzhao | Created: Apr 5 at 3:57 PM by fenzhao

Need a way to support disable <option> or <optgroup> using SelectList

We added support for disable using SelectListItem. We should add the same support when using SelectList too.

Id #1820 | Release: v5.2 RC | Updated: Wed at 9:13 PM by danroth27 | Created: Apr 3 at 6:12 PM by kirthik

Add support for wpa81 for Web API Client package

We need to update the Web API Client package to add support for Windows Phone 8.1 for portable class libraries. Your library needs to target Windows Phone 8.1 explicitly Your NuGet packages needs...

Id #1819 | Release: v5.2 RC | Updated: Wed at 9:13 PM by danroth27 | Created: Apr 2 at 5:54 PM by kamehrot

Add http header Prefer: odata.maxpagesize.

Download https://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v4/ actions sample, Add[EnableQuery] to MoviesController.get() method request GET http://localhost:44221/odata/Movi...

Id #1818 | Release: None | Updated: Apr 2 at 3:48 AM by jinfutan | Created: Apr 2 at 3:34 AM by jinfutan

Add HtmlHelper.FileFor

MVC binding is a great feature, but when files need to be posted, we have to go out of our way to make them integrate properly. I figured this could be simplified and I created a HTML Helper for Fi...

Id #1817 | Release: vNext | Updated: Apr 9 at 9:21 PM by danroth27 | Created: Apr 1 at 6:17 PM by MisinformedDNA

Add helper methods for the HTTP NotFound (404) and NotImplemented (501) errors

ApiController has the NotFound() method for general purposes, which has no argument list. ODATA v3 API also has some helper methods in EntitySetControllerHelpers.cs for NotImplemented errors. Acc...

Id #1812 | Release: vNext | Updated: Apr 11 at 2:18 AM by danroth27 | Created: Mar 31 at 8:34 PM by yjhong

ODataProperties().Version should be calculated according to the spec

8.1.5 Header OData-Version OData clients SHOULD use the OData-Version header on a request to specify the version of the protocol used to generate the request. If present on a request, the servi...

Id #1810 | Release: None | Updated: Apr 2 at 9:37 PM by kamehrot | Created: Mar 31 at 6:18 PM by jacalvar

There is no way to set OData reference in metadata.

If you are composing several metadata documents and want to reference them the specification states to use "edmx:Reference". This has no support in the web stack or EDM libs. http://docs.oasis-o...

Id #1808 | Release: None | Updated: Apr 2 at 9:35 PM by kamehrot | Created: Mar 28 at 3:44 PM by thebothead

MVC5 Claims version of the Authorize attribute

I'm trying out some of the new stuff in VS2013 with MVC5 and the new OWIN authentication middleware. So, I'm used to using the [Authorize] attribute to limit actions by role but I'm trying to use...

Id #1807 | Release: vNext | Updated: Apr 2 at 9:34 PM by kamehrot | Created: Mar 28 at 2:43 AM by regisbsb

ModelBinder registered by SimpleModelBinderProvider won't call if no query string

When ModelBinder is registered by SimpleModelBinderProvider and used in controller method as [ModelBinderAttribute()] it will not call if there is no query string. For example: public static clas...

Id #1806 | Release: v5.2 RC | Updated: Wed at 9:58 PM by kamehrot | Created: Mar 27 at 4:04 PM by starky27

Change the type of IdLink from string to uri.

Now the IdLink in ODL is all of Uri type so as to make it easier to create relative an entity id to optimize the Json payload. We should align with ODL. These IdLinks includes but not limited to...

Id #1805 | Release: None | Updated: Mar 27 at 8:20 AM by jinfutan | Created: Mar 27 at 8:20 AM by jinfutan

support cast for complex type and collections

http://docs.oasis-open.org/odata/odata/v4.0/os/part2-url-conventions/odata-v4.0-os-part2-url-conventions.html#_Toc372793843

Id #1804 | Release: vNext | Updated: Apr 11 at 2:08 AM by danroth27 | Created: Mar 27 at 4:12 AM by zjufish

Support parameter aliases for function calls

http://host/service/EmployeesByManager(ManagerID=@p1)?@p1=3

Id #1801 | Release: v5.2 RC | Updated: Apr 11 at 2:18 AM by danroth27 | Created: Mar 26 at 3:27 AM by zjufish

ODataConventionModelBuilder should not add properties defined in base CLR type and annotated with DataMemberAttribute to derived edm type.

CLR Types: [DataContract] public class Employee { [DataMember] public int ID { get; set; } [DataMember(Name="name")] public string FullName { get; set; } [DataMember] public Gender Sex { get; set...

Id #1799 | Release: None | Updated: Mar 25 at 6:44 AM by jinfutan | Created: Mar 25 at 6:44 AM by jinfutan

ODataConventionModelBuilder should add properties with public getter and private setter to Edm model.

For a read only scenario, the setter may be private, e.g., public class Report { public int Id { get; private set; } public string Title { get { return "Weekly Report"; } } } ...

Id #1798 | Release: None | Updated: Mar 25 at 2:12 AM by jinfutan | Created: Mar 25 at 2:12 AM by jinfutan

Unhandled exception is being logged when client cancels requests

Scenario: When a user loads a page, it makes one or more ajax requests, which hit ASP.NET Web API 2 controllers. If the user navigates to another page, before these ajax requests complete, the req...

Id #1797 | Release: v5.2 RC | Updated: Mar 27 at 8:42 AM by eivindbjarte | Created: Mar 24 at 10:32 PM by kichalla

The Int64 and Decimal type property value should be serialized as string if IEEE754Compatible is set to true.

The Int64 and Decimal type property value should be serialized as string if IEEE754Compatible is set to true. But currently it is not. Sample Request: GET http://jinfutanwebapi2:9123/convention...

Id #1793 | Release: None | Updated: Mar 24 at 2:29 AM by jinfutan | Created: Mar 24 at 2:29 AM by jinfutan

WebAPI IExceptionLogger and OperationCanceledExceptions

After upgrading to WebAPI 2.1 and adding an IExceptionLogger to capture all errors, we're seeing a lot of OperationCanceledExceptions in the log. The stack trace looks like this: System.Operation...

Id #1789 | Release: v5.2 RC | Updated: Mar 26 at 10:47 PM by davidmatson | Created: Mar 21 at 2:18 PM by michaelaird

Support delta for webapi

Support incremental maintenance of local results through "Delta Queries". https://www.google.com/url?q=https://www.oasis-open.org/committees/download.php/46575/OData%2520Deltas.pptx&sa=U&ei=0uYrU...

Id #1788 | Release: None | Updated: Mar 21 at 7:15 AM by zjufish | Created: Mar 21 at 7:15 AM by zjufish

Support open complex type for webapi

Open entity types and open complex types allow properties to be added dynamically to instances of the open type. http://docs.oasis-open.org/odata/odata/v4.0/os/part3-csdl/odata-v4.0-os-part3-csdl...

Id #1787 | Release: v5.2 RC | Updated: Apr 11 at 3:18 AM by azhou | Created: Mar 21 at 7:09 AM by zjufish

Support aggregation for OData

http://docs.oasis-open.org/odata/odata-data-aggregation-ext/v4.0/cs01/odata-data-aggregation-ext-v4.0-cs01.html

Id #1786 | Release: None | Updated: Mar 21 at 7:08 AM by zjufish | Created: Mar 21 at 7:08 AM by zjufish

support $search for OData

http://docs.oasis-open.org/odata/odata/v4.0/os/part1-protocol/odata-v4.0-os-part1-protocol.html#_Toc372793700

Id #1785 | Release: None | Updated: Mar 21 at 7:05 AM by zjufish | Created: Mar 21 at 7:05 AM by zjufish

support ?$! in the case where /key syntax is used for azure API

We will continue to support /key syntax for existing services on azure. However /key syntax introduced ambiguity hence we need extra leading char !?! to resolve. details please read azure guide...

Id #1784 | Release: None | Updated: Mar 21 at 6:44 AM by zjufish | Created: Mar 21 at 6:44 AM by zjufish

Suppress key convention once [Key] explicitly apply at *any* properties

In OData Convention Model Builder, it will picks up all the properties that are annotated with the Key attribute or that follow the "schema Id | TypeName + Id". It's not user-friendly. We should ...

Id #1782 | Release: v5.2 RC | Updated: Mar 21 at 8:39 AM by zjufish | Created: Mar 20 at 3:42 AM by xuzhg

ControllerContext is null inside ExceptionLogger in some cases where its expected to be present

Scenario: An unhandled exception is thrown from a controller's action. User wants to log the name of the controller where this exception is thrown from. Issue: ExceptionLoggerContext.ExceptionC...

Id #1781 | Release: v5.2 RC | Updated: Mar 19 at 9:22 PM by danroth27 | Created: Mar 19 at 6:31 PM by kichalla

Integrate with ODL UriParser

Integrate with ODL's UriPaser to webapi so we can avoid using the current ODataPathHandler. The goal is to use a single parser for convention route/attribute route and query option parsing.

Id #1779 | Release: v5.2 RC | Updated: Mar 21 at 2:10 AM by danroth27 | Created: Mar 19 at 8:45 AM by zjufish

support containment in 5.2

containment is a key feature of v4 spec we'd like to include it in the 5.2 release. http://docs.oasis-open.org/odata/odata/v4.0/os/part3-csdl/odata-v4.0-os-part3-csdl.html#_Toc372793924

Id #1778 | Release: v5.2 RC | Updated: Mar 21 at 2:10 AM by danroth27 | Created: Mar 19 at 8:41 AM by zjufish

Support Singleton feature

http://docs.oasis-open.org/odata/odata/v4.0/os/part3-csdl/odata-v4.0-os-part3-csdl.html#_Toc372793988

Id #1776 | Release: v5.2 RC | Updated: Apr 10 at 5:57 AM by xuzhg | Created: Mar 19 at 8:33 AM by zjufish

Missing comma in jquery.unobtrusive

In the very begining of the file data_validation is now a Global variable. I've fixed that. https://aspnetwebstack.codeplex.com/SourceControl/network/forks/regisbsb/AspMvc/contribution/6431

Id #1772 | Release: v5.2 RC | Updated: Mar 19 at 9:33 PM by danroth27 | Created: Mar 18 at 4:28 PM by regisbsb

Support singleton on query option

Current, the WebAPI V4 is based on ODL V6.0 beta 1. It doesn't work if we put singleton on query option. for example: ~/Customers(1)?&expand=CEO where, CEO is the navigation property and bindin...

Id #1770 | Release: vNext | Updated: Mar 18 at 8:13 AM by xuzhg | Created: Mar 18 at 8:13 AM by xuzhg

Upgrade Newtonsoft.Json to a newer version.

The package referenced is: <package id="Newtonsoft.Json" version="4.5.11" targetFramework="net45" /> And the latest one is 6.0. If user chooses to use a newer one, assembly loading redirection i...

Id #1769 | Release: None | Updated: Mar 18 at 5:56 AM by jinfutan | Created: Mar 18 at 5:53 AM by jinfutan

OData V4 requires disabling ProxyCreation in EF

EF generates dynamic proxies for user defined models mainly for lazy loading. In OData V3, OData can serialize the response data with this dynamic proxies without any problems. In OData V4, it ...

Id #1768 | Release: v5.2 RC | Updated: Mar 21 at 2:11 AM by danroth27 | Created: Mar 18 at 12:57 AM by yjhong

Support $search in OData v4.0

The $search system query option restricts the result to include only those entities matching the specified search expression. The definition of what it means to match is dependent upon the implemen...

Id #1767 | Release: None | Updated: Mar 17 at 8:45 PM by jacalvar | Created: Mar 17 at 8:44 PM by jacalvar

[Facebook] Facebook Authorization Filter doesn't handle request cancelling well.

If user install an Facebook App and cancel the first permission request dialog, the Facebook will redirect back to the App with "Error" in query string. The behavior is unexpected in current design...

Id #1766 | Release: v5.2 RC | Updated: Mar 19 at 9:41 PM by danroth27 | Created: Mar 17 at 5:52 PM by trdai

navigation property in a complex type

Consider support navigation property (at least non-contained nav prop, since contained nav prop is not supported by ODL yet) in a complex type. // navigation property in a complex t...

Id #1765 | Release: None | Updated: Mar 17 at 1:32 PM by cysu | Created: Mar 17 at 1:20 PM by cysu

Make OData v4 filtering attributes: naming inconsistency and other issues

There are two issues with the filtering attributes for OData v4. One is that they are inconsistently named. [Unsortable] [NonFilterable] [NotExpandable] [NotNavigable] These are not logically cong...

Id #1763 | Release: None | Updated: Mar 19 at 9:43 PM by danroth27 | Created: Mar 14 at 4:31 PM by advancedrei

DependencyScope is not disposed for pre-flight requests

I think that I've discovered a bug. I'm using an inversion of control container in my WebApi2 project and I noticed that the number of pooled db connections increased over time. I started to debu...

Id #1762 | Release: v5.2 RC | Updated: Mar 19 at 9:56 PM by kichalla | Created: Mar 13 at 7:38 PM by jgauffin

ODataQueryOptions should support $id.

The supported query options are: public static bool IsSystemQueryOption(string queryOptionName) { return queryOptionName == "$orderby" || queryOptionName == "$filter" || queryOptionName =...

Id #1761 | Release: None | Updated: Mar 13 at 8:05 AM by jinfutan | Created: Mar 13 at 8:05 AM by jinfutan

Make MultipartFormDataStreamProvider easier to work with non-FileStreams

Scenario: A user would like to make a multipart file upload request and instead of creating local files, the user would like to upload the files directly to Azure blog storage stream. Issue: Us...

Id #1760 | Release: vNext | Updated: Sun at 9:06 AM by dkillewo | Created: Mar 12 at 10:36 PM by kichalla

Unqualified bound actions return unresolved path segment.

When using an unqualified bound action an unresolved path segment is returned. After examination and debugging of the web stack it appears that it has been implemented to only correctly handled fu...

Id #1759 | Release: None | Updated: Mar 19 at 9:45 PM by danroth27 | Created: Mar 12 at 2:47 PM by thebothead

The function cast should be implemented in FilterBinder.BindSingleValueFunctionCallNode.

Now cast is not implemented, such as "cast(Id, 'Edm.Int16') will result in : "message":"Unknown function 'cast'.","type":"System.NotImplementedException","stacktrace":" at System.Web.Http.OData...

Id #1757 | Release: v5.2 RC | Updated: Mar 21 at 2:16 AM by danroth27 | Created: Mar 11 at 1:53 PM by jinfutan

options.IfMatch.ApplyTo and options.IfNoneMatch.ApplyTo should return IQueryable<T> instead of IQueryable

When using ETags and using options.IfMatch.ApplyTo and options.IfNoneMatch.ApplyTo we should return IQueryable<T> instead of IQueryable. The ApplyTo will basically generate a where clause that wont...

Id #1756 | Release: None | Updated: Mar 10 at 6:34 PM by jacalvar | Created: Mar 10 at 6:34 PM by jacalvar

OData V4 needs better supports for $ref (formally $links)

There is no easy way to support $ref(previously called $links) with the Web API OData V4, we should provide a better story for this. I think $ref or $links should be a very common scenario for cus...

Id #1754 | Release: v5.2 RC | Updated: Apr 11 at 5:29 PM by yjhong | Created: Mar 7 at 9:09 PM by yjhong

OData V4 service should not support DateTime

OData V4 should not support DateTime as follows: 4.2.2 Pruned: Edm.DateTime This data type convenient for some services and painful for a lot of clients: pico-second precision that may be off b...

Id #1753 | Release: v5.2 RC | Updated: Apr 9 at 11:22 PM by jacalvar | Created: Mar 7 at 8:55 PM by yjhong

OData V4 Routes.MapODataRouteAttributes throws the null reference exception without EnsureInitialized

Receiving NullRef exception when config.EnsureIntialized is not called. public class Global : System.Web.HttpApplication { protected void Application_Start(object sender, EventArgs e) { var ...

Id #1752 | Release: v5.2 RC | Updated: Mar 21 at 8:27 AM by zjufish | Created: Mar 7 at 8:41 PM by yjhong

OData V4 Responses MUST include the odata.metadata parameter(odata.metadata=full, odata.metadata=minimal or odata.metadata=none) to specify the amount of metadata included in the response in V4

OData Service Validator (http://services.odata.org/validation/) reports the following errors for a Web API OData V4 service. (http://odatatest1.azurewebsites.net/odata/) Responses MUST include th...

Id #1751 | Release: v5.2 RC | Updated: Mar 21 at 8:17 AM by zjufish | Created: Mar 7 at 8:19 PM by yjhong

OData V4 Services MUST return 406 Not Acceptable if the client only requests streaming and the service does not support it.

OData Service Validator (http://services.odata.org/validation/) reports the following errors for a Web API OData V4 service. (http://odatatest1.azurewebsites.net/odata/) Services MUST return 406 ...

Id #1750 | Release: v5.2 RC | Updated: Apr 10 at 11:09 PM by jacalvar | Created: Mar 7 at 8:12 PM by yjhong

OData V4 service do not properly handle invalid OData-Version header values

OData Service Validator (http://services.odata.org/validation/) reports the following errors for a Web API OData V4 service. (http://odatatest1.azurewebsites.net/odata/) If a request includes a Da...

Id #1749 | Release: v5.2 RC | Updated: Mar 24 at 4:07 PM by azhou | Created: Mar 7 at 8:05 PM by yjhong

OData V4 client unable to parse OData V4 service generated batch response

Scenario: Post a batch request using OData V4 client (Microsoft.OData.Client nuget package) to Web API OData v4 service. Issue: Web API OData service is generating a response successfully, but...

Id #1748 | Release: v5.2 RC | Updated: Apr 11 at 9:13 PM by eerhardt | Created: Mar 7 at 5:05 PM by kichalla

FilterBinder treats nullable double as decimal.

Should change arguments[0].Type == typeof(double) to IsType<double>(arguments[0].Type) in BindFloor and BindCeiling.

Id #1747 | Release: v5.2 RC | Updated: Mar 17 at 5:05 AM by azhou | Created: Mar 7 at 1:46 AM by jinfutan

[AttributeRouting] Howto support matrix parameters

Hi, i know you wont add built-in support for matrixparameters. But is it possible to implement it by our self with support of attribute routing for Webhost and Selfhost as well? Can you tell me...

Id #1746 | Release: v5.2 RC | Updated: Apr 11 at 10:51 PM by TianPan | Created: Mar 6 at 12:19 PM by gandalis

Delete TransientAction/Funcition.

Now action/function can be bound or unbound in odata v4. so there is no need to keep these 2 APIs.

Id #1744 | Release: None | Updated: Mar 6 at 2:17 AM by jinfutan | Created: Mar 6 at 2:17 AM by jinfutan

Remove ATOM Support in WebAPI V4

ODL V4 doesn't support ATOM (XML) any more. So, follow up the ODL V4, we should remove the ATOM Support in WebAPI V4.

Id #1743 | Release: v5.2 RC | Updated: Mar 7 at 1:35 AM by xuzhg | Created: Mar 6 at 1:08 AM by xuzhg

Deserialize GeographyPoint failed

Suppose we have CLR type includes a GeographyPoint type property. public class Customer { [Key] public int ID { get; set; } public GeographyPoint Location { get; set; } } Then we wan...

Id #1742 | Release: None | Updated: Mar 21 at 2:19 AM by danroth27 | Created: Mar 5 at 6:53 AM by xuzhg

Charset parameter should not show in Content-Type in response if Accept in request don't has it

ODL Spec says Protocol 8.2.1 If the media type specified in the Acceptheader does not include a charsetformat parameter, then the Content-Typeheader of the response MUST NOT contain a charsetfo...

Id #1741 | Release: v5.2 RC | Updated: Mar 21 at 7:46 AM by zjufish | Created: Mar 5 at 5:49 AM by xuzhg

Default settings for PostAsJsonAsync

PostAsJsonAsync currently creates new instance of JsonMediaTypeFormatter which in turn uses empty JsonSerializerSettings. I think it should be possible to provide default settings for this method...

Id #1739 | Release: Breaking changes | Updated: Mar 5 at 10:26 PM by danroth27 | Created: Mar 3 at 9:17 PM by oliverjanik

Single quote is sent to the parameter in unbound function

Function define: [HttpGet] [ODataRoute("GetSalesTaxRate(state={state})")] public IHttpActionResult GetSalesTaxRate(string state) { return Ok(GetRate(state)); } Model define: // Unbound Function b...

Id #1734 | Release: v5.2 RC | Updated: Mar 21 at 2:11 AM by danroth27 | Created: Feb 28 at 6:47 PM by trdai

Documentation of HTML helper input extensions is incorrect

The precedence described for input extensions (e.g. html.TextBoxFor) is completely misleading. Users see the following in IntelliSense today: // value: // The value of the hidden input elemen...

Id #1732 | Release: v5.2 RC | Updated: Wed at 4:05 AM by dougbu | Created: Feb 28 at 5:31 PM by dougbu

It reports error if a property of type Collection(Enum) is requested.

ODL fixed it in version 6.0. Let's verify it after migration to this version. Request: ~/Employees(1)/SkillSet SkillSet is a colleciton of Enum type Skill. Response: "message":"The...

Id #1731 | Release: v5.2 RC | Updated: Mar 21 at 7:54 AM by zjufish | Created: Feb 28 at 5:08 AM by jinfutan

It reports error if Enum type is used in action parameter.

ODL fixed this bug in 6.0, so let's verify it after migration to this version. Sample Request: POST http://jinfutanwebapi2:9001/convention/Employees(1)/AddSkill1 HTTP/1.1 Content-Type: applicatio...

Id #1730 | Release: v5.2 RC | Updated: Wed at 8:31 AM by fenzhao | Created: Feb 28 at 5:04 AM by jinfutan

Add IDirectRouteProvider to MVC

For 5.2 we added the IDirectRouteProvider api to WebAPI for custom materialization of attribute routes. This bug tracks adding the same functionality to MVC.

Id #1724 | Release: v5.2 RC | Updated: Mar 5 at 9:40 PM by danroth27 | Created: Feb 26 at 6:48 PM by nowakra

$batch response code should be 200, instead of 202

Per OData spec: If the set of request headers of a Batch request are valid (the Content-Type is set to multipart/mixed, etc.) the service MUST return a 200 OK HTTP response code to indicate that t...

Id #1722 | Release: v5.2 RTM | Updated: Feb 26 at 6:51 AM by azhou | Created: Feb 26 at 3:25 AM by cysu

XmlDocumentationProvider should be able to handle multiple XML documents.

The ASP.Net Web API Help Page NuGet package has currently a feature that allows a developer to only specify 1 XML documentation file, which is used when showing the Help Page. Since most developers...

Id #1720 | Release: vNext | Updated: Mar 26 at 10:12 PM by christian_zz | Created: Feb 24 at 2:47 PM by SjorsG

System.ArgumentNullException is thrown if a raw value of null is requested.

For a nullable property with value null, if $value is requested then System.ArgumentNullException is thrown. Per protocol, 204 should be returned. The action in controller: public long? GetNull...

Id #1718 | Release: v5.2 RC | Updated: Mar 21 at 8:15 AM by zjufish | Created: Feb 24 at 11:43 AM by jinfutan

When returning an Entity that contains an ETag annotation, the ETag header should also be set

When querying an OData entity like Customers(1) the ETag should appear on the payload and additionally it should appear on the ETag response header field. Not having the value on the ETag response ...

Id #1711 | Release: v5.2 RC | Updated: Mar 21 at 8:08 AM by zjufish | Created: Feb 23 at 2:08 AM by jacalvar

NoActionFoundForCollection is incorrect

The error code NoActionFoundForCollection & message are misleading, since we support both action and function now. Could change to NoOperationFoundForCollection. // now look for bindable a...

Id #1710 | Release: v5.2 RTM | Updated: Feb 26 at 2:07 AM by zjufish | Created: Feb 22 at 2:43 PM by cysu

View files should not be required when deploying a precompiled application

If you precompile your MVC4 website, you can remove all your views. The views are just turned into markers (a holdover from webforms), but they are not used at all. You can simply delete and not ...

Id #1709 | Release: v5.2 RC | Updated: Apr 4 at 12:47 AM by pranavkm | Created: Feb 22 at 6:32 AM by WayneBrantley

The property ContainerQualifiedName in ProcedureConfiguration should be deleted.

Now there are only namespace- or alias- qualified name, no container qualified name, so it should be deleted.

Id #1704 | Release: v5.2 RC | Updated: Mar 21 at 8:06 AM by zjufish | Created: Feb 21 at 1:31 AM by jinfutan

Setting the context in jQuery callbacks does not behave as expected when the context is detached.

From https://aspnetwebstack.codeplex.com/workitem/1487 JQuery ajaxComplete does not fire if context is detached (JQuery Ticket #12924 - closed bug: notabug). For example Stackoverflow MiniProfil...

Id #1702 | Release: v5.2 RC | Updated: Mar 5 at 9:40 PM by danroth27 | Created: Feb 20 at 2:50 PM by pranavkm

Delete the code for bug#1672 after migating to ODL 6.1.

1672: There are 2 function-import elements in ServiceDocument if a function is overloaded and exposed as FunctionImport There is also a ODL bug 2055421, which is the same as 1672 and was fixed in...

Id #1701 | Release: v5.2 RC | Updated: Mar 21 at 8:04 AM by zjufish | Created: Feb 20 at 7:35 AM by jinfutan

It is unable to delete reference between entities.

It is a common scenario that a user add/delete reference between entities, such as from Product to Category, for Customer to Orders, but now Web API OData doesn't support it. Sample Request: DE...

Id #1700 | Release: v5.2 RC | Updated: Mar 21 at 7:53 AM by zjufish | Created: Feb 20 at 5:50 AM by jinfutan

Has operator doesn´t work with Entity Framework

Create a model with an Enum property. Try to use the has operator with the Enum property in a $filter query (with entity framework as the backend) Error message: LINQ to Entities does not rec...

Id #1694 | Release: v5.2 RTM | Updated: Feb 20 at 5:21 AM by zjufish | Created: Feb 19 at 1:26 AM by jacalvar

OData v4 Serialization Perf is 10% slower than v3

Our perf dashboard is showing about a 10% delta between OData v4 and OData v3 in our serialization scenarios. We need to do some profiling to determine the cause and resolution.

Id #1691 | Release: v5.2 RTM | Updated: Feb 20 at 5:22 AM by zjufish | Created: Feb 17 at 10:37 PM by nowakra

Provide support for referential constraints in the ModelBuilder and when using ForeignKeyAttribute and InversePropertyAttribute

This workitem tracks the remaining work of https://aspnetwebstack.codeplex.com/workitem/1423 as the changes in the model builder required to support referential constraints, ForeignKeyAttribute and...

Id #1684 | Release: vNext | Updated: Feb 18 at 6:12 AM by zjufish | Created: Feb 13 at 11:02 PM by jacalvar

enforce $ref and $value be the last segment

$ref and $value should be the last path segment, but now it is not enforce. Should consider enforcing this. e.g.: an attempt to cast after $ref will parse, and a path such as .../{property}/$val...

Id #1681 | Release: v5.2 RTM | Updated: Feb 18 at 6:11 AM by zjufish | Created: Feb 12 at 9:23 AM by cysu

We should check for navigability when parsing the OData path

We don’t to apply NotNavigable in the ODataQueryOptions validations (because setting NotNavigable will set the NotFilterable/Unsortable which will get validated just fine). That said we should app...

Id #1678 | Release: v5.2 RTM | Updated: Feb 11 at 12:55 AM by zjufish | Created: Feb 10 at 11:55 PM by jacalvar

AllowedOrderByProperties should support paths

AllowedOrderByProperties doesn't make sense when the $orderby clause is something like Entity/NavigationProperty/ComplexType/Field which is a clause we support. Change the attribute name to allo...

Id #1677 | Release: v5.2 RTM | Updated: Feb 11 at 12:54 AM by zjufish | Created: Feb 10 at 11:54 PM by jacalvar

ODataUriUtils.ConvertFromUriLiteral in ODL beta1 doesn't support enum

ODL beta1's ODataUriUtils.ConvertFromUriLiteral does not support converting uri literal to ODataEnumValue, but beta1's ODataUriUtils.ConvertToUriLiteral supports converting ODataEnumValue to uri li...

Id #1668 | Release: v5.2 RC | Updated: Mar 21 at 8:02 AM by zjufish | Created: Feb 8 at 5:01 AM by cysu

AuthorizationRedirectPath is not picked up in MVC Facebook

This is an issue derives from the following discussion: https://aspnetwebstack.codeplex.com/discussions/527849#post1199675 Scenario: when user cancel the permission request dialog, facebook app ...

Id #1666 | Release: v5.2 RC | Updated: Mar 11 at 6:11 PM by trdai | Created: Feb 6 at 10:24 PM by trdai

Controller name requirements should be relaxed with attribute routing

The requirement to end the name of your controller with 'Controller' should be relaxed when using attribute routing, since you can unambiguously determine the name of the controller class. The unfo...

Id #1665 | Release: Breaking changes | Updated: Feb 5 at 9:48 PM by yishaigalatzer | Created: Feb 3 at 5:59 PM by BradWilson

Web API returns 204 No Content doesn't work on Windows Azure Website

Create basic Web API template project without auth. Make sure ValuesController has following action: // PUT api/values/5 public void Put(int id, [FromBody]string value) { } Deploy the applicati...

Id #1657 | Release: v5.2 RTM | Updated: Feb 26 at 9:18 PM by yishaigalatzer | Created: Jan 28 at 5:13 PM by hongyes

Make KeyValueParser.ParseKeys support more format in OData Uri BNF

Make the method KeyValueParser.ParseKeys support more format in OData Uri BNF. For example, this parser won't handle the "JSON format for function parameters" (section 5 of http://docs.oasis-open...

Id #1656 | Release: vNext | Updated: Feb 11 at 1:06 AM by zjufish | Created: Jan 28 at 2:03 AM by fenzhao

[ODataAttrRouting]Invalid route templates are not identified until a request matches an Odata route

Scenario: I have a typo when supplying the url template for an OData route. Let's say the entity set name is incorrect. Actual: When the application launches, the attribute routes are not valida...

Id #1648 | Release: v5.2 RTM | Updated: Jan 27 at 5:32 AM by zjufish | Created: Jan 24 at 11:11 PM by kichalla

[ODataAttrRouting] $value support requires adding a route for it

Scenario: I am using OData Attribute routing on a property of an entity Currently I need to have 2 routes for support regular request and $value based one, otherwise I get a 404 when i make a req...

Id #1647 | Release: vNext | Updated: Jan 27 at 5:06 AM by zjufish | Created: Jan 24 at 11:01 PM by kichalla