Odata V4 to remove the datetime All workarounds stop the $filter $orderby from working

The changes to Odata V4 to remove the datetime type have the following 2 workarounds. http://stackoverflow.com/questions/25189557/how-to-get-web-api-odata-v4-to-use-datetime http://damienbod.wo...

Id #2195 | Release: None | Updated: Wed at 5:24 PM by jonagostinello | Created: Wed at 5:24 PM by jonagostinello

The razor keyword don't work

When try to use keywords, such as @Model, @Html, @Ajax, etc, the intelliesence suggestion box never appears. If you have a foreach loop with the model providing the list, the @Model doesn't work bu...

Id #2194 | Release: None | Updated: Tue at 11:54 AM by ThisIsAWorkAccoun | Created: Tue at 11:54 AM by ThisIsAWorkAccoun

Open type and dynamic property on un-type scenario

Support Open type and dynamic property on un-type scenario.

Id #2193 | Release: None | Updated: Tue at 9:24 AM by xuzhg | Created: Tue at 9:16 AM by xuzhg

Add StoreGeneratedPattern annotation in WebAPI V3

Support to add storegeneratedpattern annotation in metadata and serialize it

Id #2192 | Release: None | Updated: Tue at 7:05 AM by lianw | Created: Tue at 7:05 AM by lianw

Add Concurrency Support In WebAPI V3

Support ConcurrencyCheck attribute in reflector model Support set concurrency on a property Support Etag

Id #2191 | Release: None | Updated: Tue at 7:04 AM by lianw | Created: Tue at 7:04 AM by lianw

ODataMediaTypeFormatter is throwing a SerializationException when SingleResult.Create takes in a query that returns an empty result.

A SerializationException is being thrown from System.Web.OData.Formatter.ODataMediaTypeFormatter.GetSerializer(...) when SingleResult.Create(...) takes in a query that returns an empty result. Thi...

Id #2190 | Release: None | Updated: Nov 20 at 3:48 PM by ryansimmen | Created: Nov 20 at 3:00 PM by ryansimmen

Web API 2.2 Thread.CurrentPrincipal and HttpContext.Current.User not in sync

Principal's Identity is being changed during same Http request. Thread.CurrentPrincipal and HttpContext.Current.User held correctly new value until the very end of WebAPI method action. OnActionE...

Id #2189 | Release: None | Updated: Nov 18 at 3:33 PM by jovana | Created: Nov 18 at 3:33 PM by jovana

When using Owin self hosting, Debug.Print message are duplicated

After WebApp.Start() is called all Debug.Print messages appear twice. Using the code below I get the following output in the Visual Studio 2013 output window: Before Start() After Start() After...

Id #2188 | Release: None | Updated: Nov 16 at 7:22 PM by sixeyes | Created: Nov 16 at 7:22 PM by sixeyes

Odata+WebApi Filtering Open Dynamic Objects. SingleValueOpenPropertyAccess.

I am attempting to apply an Odataquery against a collection of Json objects (OpenType / Dynamic). I have instantiated my json as "MyDynamicObjects", a class which simply enumerates each json proper...

Id #2187 | Release: None | Updated: Nov 17 at 8:35 PM by yishaigalatzer | Created: Nov 14 at 7:49 PM by SimpleNick

Deserialization of untyped enums and serialization of collection of untyped enum collection fails

Hi Team, I am working with Odata v4.0 and ASP Web API 2.2. while I was working on EdmOperations I encountered issues with untyped enums. All the parameter types added to operations are untyp...

Id #2186 | Release: None | Updated: Nov 20 at 4:01 AM by ksiomelo | Created: Nov 12 at 8:02 AM by KedarnathK

Add support for date(Edm.DateTimeOffset) function

OData v.4 date function in queries like http://localhost:8084/Alerts?$filter=date(DateAlert) gt 2014-06-19 throws { "error":{ "code":"","message":"The query specified in the URI is not valid. Un...

Id #2185 | Release: None | Updated: Nov 10 at 6:21 PM by yishaigalatzer | Created: Nov 10 at 1:57 PM by cdori

Odata v3 and V4 side by side

as of this question http://stackoverflow.com/questions/25666181/webapi2-odata-v3-and-v4-side-by-side and the sample provided https://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData...

Id #2184 | Release: None | Updated: Nov 10 at 6:20 PM by yishaigalatzer | Created: Nov 10 at 9:49 AM by dauciunas

$ref not working with System Query Option $expand

As per the Protocol Document 11.2.4.2 System Query Option $expand The $expand system query option indicates the related entities that MUST be represented inline. The service MUST return the spe...

Id #2182 | Release: None | Updated: Nov 10 at 6:22 PM by yishaigalatzer | Created: Nov 7 at 5:59 AM by SagarHotchandani

Incorrect OData-Version header will lead to no matching route

Send a request containing an OData-Version header value set to any other than 4.0. Then the service code would got false in ODataVersionConstraint's Match method, thus would not find a proper mat...

Id #2180 | Release: None | Updated: Nov 10 at 6:23 PM by yishaigalatzer | Created: Nov 6 at 1:46 AM by karata

$count segment & $count=true issue

$count can't work on untype (typeless) scenario a) ~/typelessCustomers/$count b) ~/typelessCustomers?$count $count can't work on query option a) ~/Customers?$filter=Orders/$count lt 10 b)...

Id #2179 | Release: v5.4 Beta | Updated: Nov 6 at 1:19 AM by xuzhg | Created: Nov 6 at 1:19 AM by xuzhg

OData EdmxReader should understand EF ClrType custom annotation

Hi, I'm working on a Web Api 2 project and I wanted to support OData query options in my endpoints so I followed this tutorial. After some measurements I found that generating a ODataQueryOpti...

Id #2178 | Release: None | Updated: Nov 10 at 6:23 PM by yishaigalatzer | Created: Nov 5 at 2:59 PM by iLMaX

Support unknow type converter in Web API

Here's two scenarios: the user has a user-defined class "utcdatetime" and this type used everywhere to define his business model. Now, he don't want to change his model and want to use utcdatetim...

Id #2176 | Release: v5.4 Beta | Updated: Nov 4 at 3:26 AM by xuzhg | Created: Nov 4 at 3:26 AM by xuzhg

PropertyRoutingConvention donot support generic handling.

Few details here, The PropertyRoutingConvention expects the following functions to be implemented in controller, string actionName = actionMap.FindMatchingAction( "Get" + property.Name + "From" + ...

Id #2175 | Release: None | Updated: Nov 10 at 6:27 PM by yishaigalatzer | Created: Nov 3 at 9:20 AM by ShahzorKhan

Serialization of EdmEntityObject, donot honour $Select clause

On using the $select for untyped objects, the response give the complete object with null values, rather than providing only the properties mentioned in the select clause, We have to add an extra...

Id #2174 | Release: None | Updated: Nov 10 at 6:27 PM by yishaigalatzer | Created: Nov 3 at 8:56 AM by ShahzorKhan

OData Functions with DateTimeOffset argument not working in ru-RU format culture

Hi! Imagine you have project with: // controller for Order entity. Entity Order is not interesting for this sample public class OrdersController: ODataController { [HttpGet] public string Prin...

Id #2171 | Release: None | Updated: Oct 29 at 10:15 PM by danroth27 | Created: Oct 24 at 1:58 PM by catahoc

ODATA v4 - Modifying Model to have custom metadata namespace prefix defect

I followed this example: http://stackoverflow.com/questions/22207249/adding-arbitrary-data-to-odata-metadata-in-webapi I had the exact same case. Basically the namespace prefix mapping to a na...

Id #2167 | Release: None | Updated: Oct 29 at 10:19 PM by danroth27 | Created: Oct 24 at 12:57 AM by williamwsmith

ODataMediaTypeFormatter.GetPerRequestFormatterInstance() does not do a deep copy

It should be possible to customize the properties of ODataMediaTypeFormatter on a per-request basis, for example to change the ODataMessageWriterSettings such as .Indent, without affecting serializ...

Id #2166 | Release: None | Updated: Oct 22 at 10:33 PM by danroth27 | Created: Oct 22 at 9:12 PM by brjohnstmsft

OData PageResult method ignoring count parameter when using EnableQuery attribute

Lets assume you have the following function in an OData controller that calls a stored procedure / function in Entity Framework and the the function has "EnableQuery" attribute. Also, assume that ...

Id #2164 | Release: None | Updated: Oct 22 at 10:34 PM by danroth27 | Created: Oct 22 at 6:21 PM by goroth

@odata.bind not supported

It's vital that if an entity has a required navigation property, that it be set when the entity is created. For example, the Group property of Item: public class Item { [Key] public int Id { get; s...

Id #2163 | Release: None | Updated: Nov 3 at 1:01 PM by santhosh_mereddy | Created: Oct 21 at 10:30 AM by Barguast

Selection on an expanded property not working

I am trying to select a child object from the expanded property, but I am getting an exception Microsoft.OData.Core.ODataException. For ex, I am using the below url to get list of all postal cod...

Id #2161 | Release: None | Updated: Oct 22 at 10:38 PM by danroth27 | Created: Oct 20 at 10:36 PM by suhman

Support Edm.Date & Edm.TimeOfDay

ODL annouced the ship of V6.8.0 as below: http://www.nuget.org/packages/Microsoft.OData.Core/6.8.0 in this release, ODL supports two new primitive types: Edm.Date & Edm.TimeOfDay So, please ad...

Id #2158 | Release: v5.4 Beta | Updated: Tue at 1:43 AM by goldenfire6 | Created: Oct 16 at 3:19 AM by xuzhg

MVC Remote attribute does not work with boolean fields created with Html.CheckBoxFor

Scenario If a remote attribute includes additional fields that are boolean values and the html for those fields are generated with Html.CheckBox or HtmlCheckBoxFor, the value of the parameter is a...

Id #2155 | Release: v5.2.3 Beta | Updated: Oct 28 at 1:29 AM by pranavkm | Created: Oct 11 at 1:46 AM by smuecke

Disabled Html.CheckBox -> Hidden Field not disabled

When Html.CheckBoxFor(m => m.Property, new { disabled = "disabled" }) is used, the generated html-input-hidden-field should also be disabled, otherwise the request value is alway false.

Id #2151 | Release: v5.2.4 Beta | Updated: Oct 7 at 5:34 PM by yishaigalatzer | Created: Oct 6 at 1:57 PM by rafe11

Razor does not correctly parse HTML attributes that have spaces surrounding the equals

After playing around with the parse tree a bit I noticed that if you were to create HTML elements such as: <div class = "foo"></div> <div class ="foo"></div> <div class= "foo"></div> The...

Id #2149 | Release: v5.2.4 Beta | Updated: Oct 7 at 5:21 PM by yishaigalatzer | Created: Oct 1 at 10:53 PM by NTaylorMullen

[ODataV4] MapODataServiceRoute throws an exception if it is called before MapHttpAttributeRoutes

In ODataV4, User scenario: Create an Web API project. Call MapHttpAttributeRoutes as follows: // Web API configuration and services ODataConventionModelBuilder builder = new ODataConventionMode...

Id #2144 | Release: None | Updated: Oct 28 at 4:28 PM by agillesp | Created: Sep 25 at 12:16 AM by yjhong

Add support for $search query option

Hi, Is it possible to add the support for $search query option, as defined here : http://docs.oasis-open.org/odata/odata/v4.0/os/part2-url-conventions/odata-v4.0-os-part2-url-conventions.html#_To...

Id #2141 | Release: None | Updated: Sep 29 at 9:45 PM by yishaigalatzer | Created: Sep 22 at 2:02 PM by ldasilva

Created response can't process the un-type object

public IHttpActionResult Post(EdmEntityObject customer) { return Created(customer); } the response Created Fails with the following exception: 500 Internal Error: Inner Exception: Cann...

Id #2135 | Release: None | Updated: Nov 3 at 8:38 AM by ShahzorKhan | Created: Sep 12 at 5:08 AM by xuzhg

[ODataV3]The mothods BindCeiling, BindFloor and BindRound in FilterBinder.cs treat nullable double as decimal

The reason is that these methods don't handle nullable double: MethodInfo round = arguments[0].Type == typeof(double) ? ClrCanonicalFunctions.RoundOfDouble : ClrCanonicalFunctions.RoundOfDecimal;

Id #2128 | Release: v5.4 Beta | Updated: Sep 9 at 11:14 AM by azhou | Created: Sep 5 at 3:26 AM by jinfutan

virtualPathRoot is null in GlobalConfiguration.DefaultServer.Configuration when using DefaultOdataBatchHandler with katana self-hosting scenario.

My config of Katana is: public static IAppBuilder UseAdminPanel(this IAppBuilder app) { var config = new HttpConfiguration(); Func<IEdmModel> getEdmModel = () => { ...

Id #2127 | Release: None | Updated: Sep 11 at 11:43 PM by yishaigalatzer | Created: Sep 3 at 3:51 PM by Yfer

The ValidateAllNode and ValidateAnyNode methods in the class FilterQueryValidator should check if All/Any is allowed.

The 2 methods do not check if any/all is allowed. It should check it just as what the below method does: private static void ValidateFunction(string functionName, ODataValidationSettings settings) ...

Id #2125 | Release: vNext | Updated: Sep 2 at 1:08 AM by azhou | Created: Sep 1 at 4:15 AM by jinfutan

Enable Routing Conventions to be used for Dynamic Models

Currently Not all Routing Conventions have Generic action name lookups in the Controller specified. Eg. NavigationRoutingConvention expects an action named after the NavigationProperty. Which is n...

Id #2120 | Release: None | Updated: Aug 28 at 11:12 PM by yishaigalatzer | Created: Aug 27 at 3:19 PM by ShahzorKhan

Support media entities and stream properties

OData v4 spec has stream properties (aka named resource stream) and media entities (i.e., media link entries.) Both are without built-in support. Especially, for media entities, should consider ...

Id #2118 | Release: vNext | Updated: Oct 29 at 1:25 PM by pfresnay | Created: Aug 26 at 10:15 AM by cysu

Apply common type conventions on Enum type

For example, DataContractAttribute can be used on entity type and complex type, for example: [DataContract(Namespace = "MySpace")] public class Customer { …. } for enum type, the DataContrac...

Id #2115 | Release: vNext | Updated: Aug 22 at 4:39 AM by xuzhg | Created: Aug 22 at 4:39 AM by xuzhg

Nested $expand with $levels=max does not have correct expansion depth

Suggest MaxExpansionDepth = 5, then Request: Entities(6)?$expand=P($levels=2;$expand=D($levels=max)) will result in: $expand=P($expand=P($expand=D($expand=D($expand=D($expand=D)))), $expand=D($...

Id #2113 | Release: v5.4 Beta | Updated: Sep 4 at 3:14 AM by azhou | Created: Aug 20 at 11:16 AM by zoluo

The response code should not be 404 if something follows a non-composable fucntion

For example if GetEmails is a non-composable function, and the request is GET http://jinfutan11:9123/ConventionRouting/Employees(1)/WebStack.QA.Test.OData.BoundOperation.GetEmails()/$count The r...

Id #2105 | Release: vNext | Updated: Aug 14 at 8:42 AM by azhou | Created: Aug 13 at 8:01 AM by jinfutan

The header OData-Version in a batch request is ignored by the server.

If below request is issued: POST http://jinfutan13:9123/DefaultBatch/$batch HTTP/1.1 Accept: multipart/mixed OData-Version: 3.0 Content-Type: multipart/mixed; boundary=batch_abbe2e6f-e45b-4458-9555...

Id #2099 | Release: vNext | Updated: Aug 15 at 9:39 AM by azhou | Created: Aug 8 at 3:54 AM by jinfutan

Error in DbTransaction.Commit when using $select and/or $expand on a Single Entity

I would consistently get an exception being thrown on the commit of a database transaction when using OData version 4 with WebApi and when querying a single entity by primary key but only when usin...

Id #2097 | Release: v5.4 Beta | Updated: Sep 30 at 7:45 PM by dougbu | Created: Aug 7 at 2:45 AM by smcdonald68

Web API OData: Support heterogeneous navigations (i.e. NavigationPropertyBinding is optional in CSDL spec)

Similar to #1884 (the issue asking for returning non set or even abstract entity types from Function), I would benefit from allowing types of non set, abstract, or even contained entity set types b...

Id #2095 | Release: vNext | Updated: Aug 14 at 9:06 AM by azhou | Created: Aug 6 at 7:22 AM by royoung

In Safari skipping optional permissions results in infinite login loop.

Right now due to how Safari + Facebook interact in applications Safari ends up blocking cookies that the Microsoft.AspNet.Facebook framework attempts to create. The framework uses the cookies in ...

Id #2094 | Release: FB 1.1.0 | Updated: Aug 27 at 8:33 PM by NTaylorMullen | Created: Aug 6 at 12:55 AM by NTaylorMullen

Always get parameter alias from ParameterAliasNodes by odl parser

In DefaultODataPathHandler, if unresolved path segment is encountered, we can't get parameter alias from odl parser. So we get the parameter alias info from the query string in this case. The bug...

Id #2093 | Release: v5.4 Beta | Updated: Sep 2 at 9:49 AM by azhou | Created: Aug 5 at 6:13 AM by fenzhao

HttpMessageInvoker object disposed exception

Hello, I am hosting a Web API REST service using Owin and a typical startup class, for example: public void Configuration(IAppBuilder builder) { System.Diagnostics.Debug.WriteLine...

Id #2091 | Release: v5.2.3 Beta | Updated: Oct 29 at 7:02 PM by thebothead | Created: Aug 4 at 8:16 PM by thebothead

OData V4: Swallowed ODataException(s)

In working with OData, I seem to be finding exceptions all over the place that are essentially swallowed. For example. If I try routing to a non existent entity set. Microsoft.OData.Core.UriPa...

Id #2090 | Release: vNext | Updated: Aug 14 at 9:16 AM by azhou | Created: Aug 4 at 7:20 PM by rcollette

Expect 400 for NotNavigable usage in path

We check the NotNavigable restriction in DefaultODataPathHandler: https://aspnetwebstack.codeplex.com/SourceControl/latest#OData/src/System.Web.OData/OData/Routing/DefaultODataPathHandler.cs ODa...

Id #2088 | Release: vNext | Updated: Aug 14 at 9:10 AM by azhou | Created: Aug 2 at 2:53 AM by fenzhao

OData V4: Support creation of Microsoft.OData.Edm.IEdmModel from DbContext

I really is hard to fathom why there are separately namespaced IEdmModel for EF and OData. There needs to be a common interface assembly that both use. As it stands, the work of one group is nev...

Id #2084 | Release: vNext | Updated: Aug 14 at 9:15 AM by azhou | Created: Jul 30 at 5:38 PM by rcollette

OData: Enum keys not recognized by ODataConventionModelBuilder

Given a class which contains properties: [Key, Range(1, int.MaxValue)] public int? Id { get; set; } /// <summary> /// The type of client /// </summary> [Key] public...

Id #2082 | Release: vNext | Updated: Nov 21 at 9:02 PM by afutrell | Created: Jul 29 at 11:27 PM by rcollette

Unnecessary allocations in OutputCacheAttribute

output cache is hit pretty heavily in read-centric sites, which can lead to parts of OutputCache clogging gen-0 unnecessarily - should be optimized to reduce allocations if possible Pull request:...

Id #2081 | Release: v5.2.3 Beta | Updated: Nov 20 at 5:02 PM by pranavkm | Created: Jul 29 at 2:03 PM by marcgravell

Allow enum properties to be keys

With OData 4 support for enums, composite keys, containing an enum are no longer possible. If the property is explicitly declared as enum before the explicit .HasKey call, an exception is thrown in...

Id #2080 | Release: vNext | Updated: Nov 21 at 9:02 PM by afutrell | Created: Jul 29 at 10:37 AM by nirinchev

Delta<T> should avoid static properties

When initializing the _allProperties field in Delta<T> GetProperties() gets called, which includes static properties. Instead GetProperties(BindingFlags.Instance | BindingFlags.Public) should be ...

Id #2079 | Release: vNext | Updated: Aug 14 at 9:17 AM by azhou | Created: Jul 29 at 4:29 AM by jacalvar

Web API Basic Auth sample throws null ref when Invalid Credentials are supplied

Authorization still fails but an exception should not be thrown.

Id #2074 | Release: vNext | Updated: Aug 15 at 5:57 PM by davidmatson | Created: Jul 25 at 3:42 AM by MrkMnl

OData V4 service should support DateTime

OData V4 should support DateTime or you should give the developer a way of converting datatime to datetimeoffset when the service is called. I have several serializable objects that are in 3rd par...

Id #2072 | Release: v5.4 Beta | Updated: Wed at 8:25 AM by jmoss9 | Created: Jul 22 at 3:18 PM by goroth

WebApi ModelBinder - empty parm setting non-nullable integer to 0

I submit that given the following querystring ?mycoll=&singlevar=1 the following model class MyModel { public ICollection<int> mycoll { get; set; } public int singlevar { get; set; }...

Id #2067 | Release: vNext | Updated: Jul 23 at 10:30 PM by yishaigalatzer | Created: Jul 16 at 3:59 PM by acsteitz

Support PATCH to a complex type.

Now we the Delta class only supports Entity type, but the protocol also supports PATCH to a complex type: 11.4.9.3 Update a Complex Type A successful PATCH request to the edit URL for a complex ty...

Id #2066 | Release: vNext | Updated: Oct 20 at 7:28 PM by abatishchev | Created: Jul 16 at 4:02 AM by jinfutan

Support deserialize complex type value

Protocol says: The service MAY additionally support clients sending a PUT request to a URL that specifies a complex type. In this case, the service MUST replace the entire complex property with th...

Id #2065 | Release: vNext | Updated: Jul 21 at 3:34 AM by azhou | Created: Jul 16 at 3:59 AM by jinfutan

Support collection of complex type value as function parameter

We need to support this feature so that below request can be fulfilled. PUT ~/Windows(1)/OptionalShapes

Id #2064 | Release: vNext | Updated: Sep 27 at 8:23 AM by okazuki | Created: Jul 16 at 3:56 AM by jinfutan

support extension of ODataConventionModelBuilder to more custimized conventions

att. _convents member today is a private static list looks ugly and no way to change. we should fix it the same way as routing rules.

Id #2062 | Release: vNext | Updated: Jul 14 at 8:00 AM by zjufish | Created: Jul 14 at 8:00 AM by zjufish

Web API OData: Invalid Web API ODataPath attached to HttpRequestMessage when deleting an entity reference from a collection

Repro steps: Have two entity types, say Customers and Orders, with a 1 to N navigation property associating them in the EDM model (1 customer has many orders) Issue DELETE request to <svcroot>/Cu...

Id #2060 | Release: vNext | Updated: Aug 14 at 9:12 AM by azhou | Created: Jul 11 at 9:41 PM by goldenfire6

Html.AntiForgeryToken() adds duplicate X-Frame-Options headers if called more than once

System.Web.WebPages v.3.0.0.0: Sometimes, more than one anti-forgery token is needed in a page (when there are multiple forms). Calling Html.AntiForgeryToken() causes the "X-Frame-Options: SAMEO...

Id #2057 | Release: vNext | Updated: Jul 10 at 5:31 PM by yishaigalatzer | Created: Jul 10 at 4:16 PM by jeremylew

The Header OData-Version is not returned if the response status code is 204 - No Content.

For example, we issue Delete ~/Customers(1), and the response status code is 204. But the header is not included in the response.

Id #2056 | Release: vNext | Updated: Nov 3 at 8:42 AM by ShahzorKhan | Created: Jul 10 at 6:24 AM by jinfutan

Make ODataPathSegmentTranslator public so that developers can write their own odata path handler.

Now if a developer write his own odata path handler, he has to duplicate the ODataPathSegmentTranslator to translate the ODL odata path to webapi odata path as it is an internal class.

Id #2052 | Release: vNext | Updated: Sep 30 at 2:55 AM by joeloughton | Created: Jul 8 at 3:18 AM by jinfutan

HelpPage VB version throws exception when the model is a generic type

Following was reported from customer...I was able to repro this and verified that C# version works fine in this case: I had a problem with this package when using generic types. I had to replace ...

Id #2050 | Release: vNext | Updated: Jul 9 at 10:26 PM by yishaigalatzer | Created: Jul 7 at 10:35 PM by kichalla

Improve the error message when failing to serialize null collection values

Currently when a user returns an object that includes a collection property and that collection property is null, we throw a 500 error (which is the right kind of error, as it's a programming error...

Id #2049 | Release: vNext | Updated: Aug 6 at 3:47 AM by xuzhg | Created: Jul 7 at 7:00 PM by jacalvar

OData expand filter

The feature in the OData 4 spec where you can filter expanded properties is missing. Will this be added in? Example 90: all categories and for each category all related products with a discontinu...

Id #2046 | Release: vNext | Updated: Tue at 7:50 PM by IntranetFactory | Created: Jul 4 at 11:45 AM by jrote1

Asp.net web API 2.2 for Odata V4-$filter, $skip, $top, $orderby does not work inside $expand

Hi Having an issue with Asp.net web API 2.2 for Odata V4(V 5.2.0-rtm-140611). I got a DB set Category which contains a group of UnionRanking, and below URL works fine. UR: http://localhost:72...

Id #2037 | Release: vNext | Updated: Sep 25 at 2:08 AM by huyq2002 | Created: Jun 28 at 3:49 AM by huyq2002

The UpdatedODataResult default response status code should not be 204

The protocol says: 9.1.4 Response Code 204 No Content A request returns 204 No Content if the requested resource has the null value, or if the service applies a return=minimal preference. In this c...

Id #2036 | Release: vNext | Updated: Jul 31 at 10:16 PM by rcollette | Created: Jun 27 at 9:31 AM by jinfutan

Support collection of primitive value as function parameter

Support collection of primitive value as function parameter

Id #2032 | Release: vNext | Updated: Aug 5 at 11:57 PM by goroth | Created: Jun 25 at 4:32 AM by fenzhao

OData controllers should return 405 by default for verbs that are not implemented.

When you choose not to implement one of the HTTP Verbs on an ODataController, and then call it form a client, the stack returns 404 by default. It should return 405 MethodNotAllowed. As well as...

Id #2023 | Release: vNext | Updated: Aug 14 at 8:08 AM by azhou | Created: Jun 18 at 7:45 PM by garethj

Should support NavigationPropertyBinding which contains a Navigation Property to a contained entity.

Say there is such Edm Model as below, now we don't have an API to set the NavigationPropertyBinging: <EntitySet Name="Accounts" EntityType="WebStack.QA.Test.OData.Containment.Account"> <Nav...

Id #2022 | Release: vNext | Updated: Jul 3 at 4:49 AM by azhou | Created: Jun 18 at 8:45 AM by jinfutan

Should support Action/Function returns contained entities.

Now no API is exposed on ActionConfiguration to set the return type of an Action/Function to Contained Entity Type. And these 2 are only for primitive/complex/enum types: public ActionConfigurati...

Id #2021 | Release: vNext | Updated: Aug 6 at 7:02 AM by royoung | Created: Jun 18 at 7:14 AM by jinfutan

ODataModelBuilder/ODataConventionModelBuilder should support setting default value of structural properties.

ODL provides a way to set the value: public EdmStructuralProperty(IEdmStructuredType declaringType, string name, IEdmTypeReference type, string defaultValueString, EdmConcurrencyMode concurrencyM...

Id #2019 | Release: vNext | Updated: Aug 14 at 8:29 AM by azhou | Created: Jun 16 at 1:34 PM by jinfutan

Containment and hierarchical relationships

Let's say you have a model like this public class Post { public int Id { get; set; } [Contained] public ICollection<Comment> Comments { get; set; } } public class B { public int Id { get; set; ...

Id #2018 | Release: vNext | Updated: Aug 6 at 7:03 AM by royoung | Created: Jun 14 at 11:35 PM by jacalvar

Support Edm.Date

Currently OData support extends to Edm.DateTime for System.DateTime and Edm.Time for System.TimeSpan. Can we please have the ability to set the Edm as Date? I am storing it as Date in the databa...

Id #2015 | Release: vNext | Updated: Sep 17 at 11:44 PM by j_thorn | Created: Jun 13 at 9:44 AM by Apathy

Support of adding instance annotations to complex types

It's to add the ability of adding instance annotations to complex types

Id #2013 | Release: vNext | Updated: Jun 13 at 4:08 AM by azhou | Created: Jun 13 at 4:08 AM by azhou

MultipartFormDataStreamProviderHelper should check ContentDispositionHeaderValue.FileNameStar

Some libraries (e.g. Python) set "filename*" but not "filename" in the Content-Disposition when sending multipart form data for a file. MultipartFormDataStreamProviderHelper should check ContentDis...

Id #2008 | Release: vNext | Updated: Jun 16 at 5:10 PM by yishaigalatzer | Created: Jun 10 at 4:27 PM by ejball

The response context uri should follow up the ODL V4 spec for any operation path request

For detail, please review issue: #1973: The context url in the response from a composable function followed by a property is incorrect. Currently, the fix for a request with operation segments ...

Id #2005 | Release: vNext | Updated: Jun 8 at 12:37 PM by azhou | Created: Jun 6 at 8:17 AM by xuzhg

Remove useless parameters in BuildEditLink() & BuildReadLink()

In NavigationSourceLinkBuilderAnnotation.cs, public function BuildEditLink() and BuildReadLink() have useless parameters. Please verify and remove them.

Id #2000 | Release: vNext | Updated: Jun 5 at 7:58 AM by azhou | Created: Jun 4 at 12:58 PM by xuzhg

Provide a way to enumerate all MVC actions

We don't currently have a good way to enumerate all actions and action descriptors in the framework. It's a common ask for extensibility and all the code that does it (correctly) is internal. htt...

Id #1999 | Release: vNext | Updated: Jun 11 at 10:37 PM by yishaigalatzer | Created: Jun 4 at 12:17 AM by nowakra

OutputCacheAttribute should reuse the response encoding

In OutputCacheAttribute.cs, when the response output is substituted with a StringWriter, the encoding and the culture of the response output are not forwarded to it. Also, because the default Str...

Id #1984 | Release: FB 1.0.0 | Updated: May 28 at 10:10 PM by danroth27 | Created: May 28 at 5:59 PM by sebastienros

Public access to ActionDescriptor and ControllerDescriptor

When IAuthorizationFilter is implemented, AuthorizationContext provides access to ActionDescriptor and ControllerDescriptor, so that both can be used to check whether controller and/or action is ma...

Id #1983 | Release: FB 1.0.0 | Updated: May 30 at 11:27 AM by NightOwl888 | Created: May 28 at 11:30 AM by atuzovic

The result of casting a value of DateTimeOffset to String is not always the literal representation used in payloads,

The URL convention says in http://docs.oasis-open.org/odata/odata/v4.0/os/part2-url-conventions/odata-v4.0-os-part2-url-conventions.html#_Toc372793843 : Primitive types are cast to Edm.String or a ...

Id #1982 | Release: FB 1.0.0 | Updated: May 28 at 10:10 PM by danroth27 | Created: May 28 at 7:02 AM by jinfutan

Build action/function and actionimport/functionimport are not correct.

In EdmModelHelperMethods.cs, there are some errors while building the action/function and actionimport/functionimport. For bound action/function, no need to create the actionimport/functionimport...

Id #1980 | Release: FB 1.0.0 | Updated: May 29 at 5:58 AM by xuzhg | Created: May 28 at 3:58 AM by xuzhg

"&" is not the correct logic symbol used in conditional statement

in AddProcedures function of EdmModelHelperMethods.cs there is a conditional statement as follows: if (procedure.IsBindable && procedure.Title != null & procedure.Title != procedure.Name) Where,...

Id #1979 | Release: FB 1.0.0 | Updated: May 28 at 10:10 PM by danroth27 | Created: May 28 at 3:27 AM by xuzhg

The "LiteralText" property of ConstantNode in parsed result of ODataUriParser should never be null

The "LiteralText" property of ConstantNode in parsed result of ODataUriParser should never be null For example: parsing "~/FunctionAtRoot(NullableInt32Parameter=1)" The parsed parameter value in...

Id #1978 | Release: FB 1.0.0 | Updated: May 28 at 10:10 PM by danroth27 | Created: May 28 at 2:35 AM by fenzhao

Navigation link is not correctly generated for nested containment propert

If you have an entity set with an entity type that has a containment navigation property, which the target type also has a containment navigation property, when you do a GET on an entity in the fir...

Id #1976 | Release: FB 1.0.0 | Updated: May 28 at 10:10 PM by danroth27 | Created: May 27 at 8:17 PM by thebothead

ODataUriParser cannot parse Enum function parameter when its EdmType is nullable

ODataUriParser cannot parse Enum function parameter when its EdmType is nullable. such as ~/FunctionAtRoot(Parameter=NS.SimpleEnum'0') The Parameter is defined as Nullable=true The ODataUriParse...

Id #1975 | Release: FB 1.0.0 | Updated: May 28 at 10:10 PM by danroth27 | Created: May 27 at 4:40 PM by fenzhao

The context url is incorrect if the response from an action or function is a property of a single entity.

OData protocol part 1 says: 10.16 Operation Result Context URL templates: {context-url}#{entity-set}{/type-name}{select-list} {context-url}#{entity-set}{/type-name}{select-list}/$entity {context-...

Id #1972 | Release: FB 1.0.0 | Updated: May 28 at 10:10 PM by danroth27 | Created: May 27 at 11:36 AM by jinfutan

Help page: Documentation of data model annotations in "buddy" class (MetadataType)

Hi, nice work with adding documentation of model annotations :-) In many scenarios the model class is a generated partial class. In those cases, the recommended way to add field annotation is via...

Id #1971 | Release: FB 1.0.0 | Updated: Jun 26 at 5:24 PM by 23skidoo | Created: May 27 at 8:02 AM by ToreErstad

Enforce $ref be the last segment in ODataUriParser with correct error message.

Enforce $ref be the last segment in ODataUriParser with correct error message. Now ODataUriParser supports to have KeySegment and $count follow $ref.

Id #1968 | Release: vNext | Updated: May 29 at 4:52 AM by dougbu | Created: May 26 at 7:33 AM by fenzhao

[unit tests] Confirm no unit tests rely on ambient locale

This is initially more of a work item. But I expect some problems will turn up and need to be fixed. In a quick check, the Turkish user locale does not cause problems when unit testing the web s...

Id #1966 | Release: v5.2 RTM | Updated: Jun 16 at 12:51 AM by dougbu | Created: May 23 at 9:04 PM by dougbu

Move direct annotations in webapi.odata to use v4 vocabulary

Shall move to use v4 vocabulary / capability etc. for the work done last year (etag, query limitations, etc.) Query limitations: - Filterability ($filter) - Sortability ($orderby) - Querya...

Id #1961 | Release: vNext | Updated: May 21 at 5:58 AM by azhou | Created: May 21 at 5:48 AM by cysu

Enum on un-type support

Currently, enum on un-type doesn't work. While, the collection of enum on un-type doesn't work too. As ODL spec says: Structural property can be : 1) primitive type 2) complex type 3) enum ...

Id #1956 | Release: vNext | Updated: Nov 20 at 8:03 AM by goldenfire6 | Created: May 20 at 9:36 AM by xuzhg

Support Key As Segment

Now we have to override whole DefaultODataPatchHandler and copy internal class ODataPathSegmentTranslator to support key as segment. Add extensive way in DefaultODataPathHandler and MapODataServic...

Id #1955 | Release: vNext | Updated: Aug 21 at 4:41 PM by smcdonald68 | Created: May 20 at 2:56 AM by fenzhao

Return OK on CORS preflight requests no matter what

A CORS preflight request is about establishing trust. It's purpose is not to tell whether or not a resource might work, but if a trust can be established between between the calling domain and t...

Id #1951 | Release: vNext | Updated: May 26 at 12:05 PM by jgauffin | Created: May 17 at 8:27 PM by jgauffin

Support dynamic property on query option

for example: Get ~/Customers?$filter=MyDynamicProperty eq 'xxx' or Get ~/Customers$orderby=MyDynamicProperty

Id #1943 | Release: vNext | Updated: Nov 17 at 7:12 PM by ificator | Created: May 14 at 7:26 AM by xuzhg

Support CRUD on single dynamic property of open type

Do we want to support CRUD on single dynamic property of the open type? for example: Get ~/Customers(1)/MyDynamicPropertName Post ~/Customers(1)/MyDynamicPropertName Put ~/Customers(1)/MyDy...

Id #1942 | Release: vNext | Updated: Nov 17 at 8:56 PM by ificator | Created: May 14 at 7:25 AM by xuzhg

OData BatchHandler starts and ends batch request on different threads.

HttpBatchHandler starts and ends bacth request on different threads. Assume, you create batching request (BR), including 2 change-sets (CS1, CS2). So, OData batching handler will process BR in ...

Id #1940 | Release: vNext | Updated: Jun 11 at 8:03 PM by adamcaviness | Created: May 13 at 3:21 PM by catahoc