Is the DateTimeLocalInputTemplate ever used?

I was browsing the source looking for how DateTime properties are handled with the default editor template, and I came across DateTimeLocalInputTemplate. I spent some time trying to understand the...

Id #2121 | Release: None | Updated: Wed at 3:16 PM by stijnherreman | Created: Wed at 3:16 PM by stijnherreman

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: Wed at 2:21 PM by ShahzorKhan | Created: Wed at 2:19 PM by ShahzorKhan

[Perf] Rendering attributes in Razor

Rendering attributes in Razor is about x4 (or more) times more CPU intensive than rendering tags. Here is a simple Razor page that demonstrates it: @{ Layout = null; } @for (int count=0;count<5;...

Id #2119 | Release: v5.2.3 Beta | Updated: Tue at 6:14 PM by yishaigalatzer | Created: Tue at 4:48 PM by yishaigalatzer

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: Tue at 9:17 AM by azhou | Created: Tue at 9:15 AM by cysu

Html.ListBoxFor doesn't work after upgrade from MVC 5.0 to 5.2

Hi, attached is simple test case. List box isn't rendered with preselected values in MVC 5.2.0. To reproduce: start application - ListBox have selected values update packages to latest version(...

Id #2117 | Release: v5.2.3 Beta | Updated: Mon at 5:20 PM by danroth27 | Created: Mon at 9:11 AM by maticmarko

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 3:39 AM by xuzhg | Created: Aug 22 at 3: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: vNext | Updated: Aug 21 at 6:40 AM by azhou | Created: Aug 20 at 10:16 AM by zoluo

System.Web.Helpers.ConversionUtil does not normalize "x-icon" to "icon" in NormalizeImageFormat

Background: In the System.Web.Helpers.WebImage.GetImageFromRequest(HttpRequestBase, string) method, MimeMapping.GetMimeMapping(string) is used to discern the mime-type of a posted file based on the...

Id #2106 | Release: v5.2.3 Beta | Updated: Wed at 6:30 PM by pranavkm | Created: Aug 14 at 2:35 AM by jeffreyrivor

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 7:42 AM by azhou | Created: Aug 13 at 7:01 AM by jinfutan

Web API documentation warning suppression

One of the nice features of the Web API 2 is the auto generated documentation. Much of the default template is comprised of the HelpPage area. To use it, the first thing a developer needs to do is ...

Id #2104 | Release: v5.2.3 Beta | Updated: Mon at 5:19 PM by danroth27 | Created: Aug 10 at 2:29 AM by toddlucas

Batch's inner request's Url not being decoded in WebHost scenarios

In the following example, the subrequest url is like '/api/values/Hello%20World' and the value that is echoed in the batch response is "Hello World"...but for the same request, we receive the respo...

Id #2103 | Release: v5.2.3 Beta | Updated: Aug 22 at 6:07 PM by danroth27 | Created: Aug 9 at 11:37 PM by kichalla

Error parsing MIME multipart body part header byte exception is raised when uploading file with irregular mime type SKP

Steps to reproduce: install Trimble sketchup http://www.sketchup.com/ or register in Windows registry key value under \HKEY_Classes_ROOT.skp\Content Type = SKP try to upload .SKP file to Web A...

Id #2101 | Release: v5.2.3 Beta | Updated: Aug 22 at 6:07 PM by danroth27 | Created: Aug 8 at 1:33 PM by Sergey117

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 8:39 AM by azhou | Created: Aug 8 at 2: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: vNext | Updated: Aug 21 at 6:41 AM by azhou | Created: Aug 7 at 1: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 8:06 AM by azhou | Created: Aug 6 at 6: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: Wed at 7:33 PM by NTaylorMullen | Created: Aug 5 at 11:55 PM 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: vNext | Updated: Aug 14 at 8:07 AM by azhou | Created: Aug 5 at 5:13 AM by fenzhao

[perf] System.net.Http.Formatting.ReadAsAsync

From a user - When using the following in a client scenario var item = await content.ReadAsAsync<TestData>(); The call may take 100s of milliseconds for the first call, and subsequently the sa...

Id #2092 | Release: v5.2.3 Beta | Updated: Mon at 5:22 PM by danroth27 | Created: Aug 5 at 2:59 AM by yishaigalatzer

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: Mon at 5:19 PM by danroth27 | Created: Aug 4 at 7: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 8:16 AM by azhou | Created: Aug 4 at 6: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 8:10 AM by azhou | Created: Aug 2 at 1:53 AM by fenzhao

Too many copies of ViewDictionaries

See https://github.com/aspnet/Mvc/issues/878

Id #2085 | Release: v5.2.3 Beta | Updated: Mon at 5:18 PM by danroth27 | Created: Jul 30 at 9:54 PM by yishaigalatzer

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 8:15 AM by azhou | Created: Jul 30 at 4: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: Aug 16 at 10:02 AM by azhou | Created: Jul 29 at 10: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: Mon at 5:23 PM by danroth27 | Created: Jul 29 at 1: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: Aug 14 at 8:13 AM by azhou | Created: Jul 29 at 9: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 8:17 AM by azhou | Created: Jul 29 at 3: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 4:57 PM by davidmatson | Created: Jul 25 at 2: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: vNext | Updated: Mon at 8:43 PM by iuristona | Created: Jul 22 at 2: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 9:30 PM by yishaigalatzer | Created: Jul 16 at 2: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: Jul 21 at 2:34 AM by azhou | Created: Jul 16 at 3: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 2:34 AM by azhou | Created: Jul 16 at 2: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: Jul 16 at 7:26 AM by Mentoliptus | Created: Jul 16 at 2: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 7:00 AM by zjufish | Created: Jul 14 at 7: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 8:12 AM by azhou | Created: Jul 11 at 8: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 4:31 PM by yishaigalatzer | Created: Jul 10 at 3: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: Aug 16 at 10:02 AM by azhou | Created: Jul 10 at 5: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: Aug 16 at 10:01 AM by azhou | Created: Jul 8 at 2: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 9:26 PM by yishaigalatzer | Created: Jul 7 at 9: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 2:47 AM by xuzhg | Created: Jul 7 at 6:00 PM by jacalvar

'Microsoft.jQuery.Unobtrusive.Validation' installation fails because it is unable to find a version of Microsoft.JQuery.Unobtrusive.Validation compatible to JQuery 1.4.1

Microsoft.JQuery.Unobtrusive.Validation requires JQuery >=1.8 and JQuery.Validation >=1.8. But, JQuery.Validation (1.8) needs jQuery (≥ 1.3.2 && ≤ 1.6). Because of this, when NuGet installs the J...

Id #2048 | Release: v5.2.3 Beta | Updated: Mon at 5:19 PM by danroth27 | Created: Jul 7 at 5:52 PM by yjhong

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: Jul 25 at 6:37 AM by Belegs | Created: Jul 4 at 10:45 AM by jrote1

Asp.net web API 2.2 for Odata V4-$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: Jul 25 at 6:43 AM by Belegs | Created: Jun 28 at 2: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 9:16 PM by rcollette | Created: Jun 27 at 8: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 10:57 PM by goroth | Created: Jun 25 at 3:32 AM by fenzhao

[Required] attribute doesn't work on a property of Complex type.

Say we have below domain modal: public class Account { public int Id { get; set; } [Required] public String Name { get; set; } [Required] public Address Address { get; set; } } public class Addre...

Id #2027 | Release: v5.3 Beta | Updated: Aug 6 at 2:18 AM by xuzhg | Created: Jun 20 at 10:12 AM by jinfutan

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 7:08 AM by azhou | Created: Jun 18 at 6: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 3:49 AM by azhou | Created: Jun 18 at 7: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 6:02 AM by royoung | Created: Jun 18 at 6: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 7:29 AM by azhou | Created: Jun 16 at 12: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 6:03 AM by royoung | Created: Jun 14 at 10: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: Jul 29 at 3:21 PM by TimMc | Created: Jun 13 at 8: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 3:08 AM by azhou | Created: Jun 13 at 3: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 4:10 PM by yishaigalatzer | Created: Jun 10 at 3: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 11:37 AM by azhou | Created: Jun 6 at 7: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 6:58 AM by azhou | Created: Jun 4 at 11:58 AM 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 9:37 PM by yishaigalatzer | Created: Jun 3 at 11:17 PM by nowakra

EnumProperty/$value/something should report error that $value must be the last segment.

If $value is following an enum type property, then it reports that: "Resource not found for the segment 'something'." But it should report that: "The request URI is not valid. The segment '$valu...

Id #1997 | Release: v5.3 Beta | Updated: Aug 19 at 9:54 AM by xuzhg | Created: Jun 3 at 7:15 AM by jinfutan

bug, RazorParser one of the Parse method is infinite looping to itself

main branch, src\System.Web.Razor\Parser\RazorParser.cs, line 46 public virtual void Parse(TextReader input, ParserVisitor visitor) { Parse(new SeekableTextReader(input), visitor); } should b...

Id #1991 | Release: v5.2 RTM | Updated: Jun 4 at 4:29 PM by pranavkm | Created: May 30 at 5:12 PM by xinqiu

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: None | Updated: May 28 at 9:10 PM by danroth27 | Created: May 28 at 4: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: None | Updated: May 30 at 10:27 AM by NightOwl888 | Created: May 28 at 10: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: None | Updated: May 28 at 9:10 PM by danroth27 | Created: May 28 at 6: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: None | Updated: May 29 at 4:58 AM by xuzhg | Created: May 28 at 2: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: None | Updated: May 28 at 9:10 PM by danroth27 | Created: May 28 at 2: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: None | Updated: May 28 at 9:10 PM by danroth27 | Created: May 28 at 1: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: None | Updated: May 28 at 9:10 PM by danroth27 | Created: May 27 at 7: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: None | Updated: May 28 at 9:10 PM by danroth27 | Created: May 27 at 3: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: None | Updated: May 28 at 9:10 PM by danroth27 | Created: May 27 at 10: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: None | Updated: Jun 26 at 4:24 PM by 23skidoo | Created: May 27 at 7: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 3:52 AM by dougbu | Created: May 26 at 6: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 15 at 11:51 PM by dougbu | Created: May 23 at 8: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 4:58 AM by azhou | Created: May 21 at 4: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: Jun 10 at 5:35 AM by azhou | Created: May 20 at 8: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 3:41 PM by smcdonald68 | Created: May 20 at 1: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 11:05 AM by jgauffin | Created: May 17 at 7: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: May 20 at 2:37 PM by azhou | Created: May 14 at 6: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: May 20 at 2:38 PM by azhou | Created: May 14 at 6: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 7:03 PM by adamcaviness | Created: May 13 at 2:21 PM by catahoc

Support more canonical functions in query option

Support more canonical functions in filter query option fractionalseconds Edm.Decimal fractionalseconds(Edm.DateTimeOffset) Edm.Decimal fractionalseconds(Edm.TimeOfDay) http://host/service/Emp...

Id #1933 | Release: vNext | Updated: May 12 at 7:11 AM by azhou | Created: May 11 at 4:56 AM by fenzhao

ODataRoutePrefix and custom HttpControllerSelector

Hi, I am working with webapi and oData v4. I am exposing an entity, say "Order", both via oData and via webapi, So I have two OrdersController, one deriving from ApiController and the other fro...

Id #1931 | Release: vNext | Updated: Jun 8 at 11:38 AM by azhou | Created: May 9 at 3:11 PM by raffaeler

ODL parser should throw when there are single quotes on type name of cast

According to V4 spec, there are no single quotes on type name of cast. such as: cast('Two, Four',NS.FlagsEnum) Now the odl parser is too lax and won't throw if there are single quotes and supp...

Id #1927 | Release: vNext | Updated: May 9 at 2:14 AM by fenzhao | Created: May 9 at 2:14 AM by fenzhao

DropdownListFor modifies the SelectListItem collection passed to it

Hi, When using the DropdownListFor helper and passing to it the collection of SelectListItem from which it is populated, the DropdownListFor will modify the passed collection after it is called; ...

Id #1913 | Release: vNext | Updated: May 14 at 7:27 AM by wutever0 | Created: May 6 at 10:05 AM by wutever0

support non-updatable properties by core.computed or capabilities.nonupdatableproperties annotations

Web API work to able services to support non-updatable properties. This implies that we need to add these annotations in the metadata document and allow data services to set these properties.

Id #1908 | Release: vNext | Updated: Jun 10 at 3:33 AM by garethj | Created: May 5 at 8:15 AM by zjufish

function 'isof' validation does not work well.

http://host/svc/Orders?$filter=isof(%27Edm.String%27) If user specify AllowedFunctions.None in ODataValidationSettings, 'isof' function could still get passed when doing queryoption validation. ...

Id #1905 | Release: vNext | Updated: May 12 at 2:06 AM by fenzhao | Created: May 4 at 3:19 AM by karata

Exception When Expanding Null Enitity

When expanding where one of the entities being expanded is null throws an exception. Take the following example: We have a customer entity which has a "Partner" property that is null if the cust...

Id #1903 | Release: v5.3 Beta | Updated: Aug 12 at 6:01 PM by yjhong | Created: May 2 at 2:21 PM by jrote1

Make FilterGrouping and GetFilterGrouping (HttpActionDescriptor) public

I'm currently in the process of implementing my own IHttpController, which to a large degree mirrors the functionality of the ApiController, but for several reasons can't extend it, the main ones b...

Id #1902 | Release: vNext | Updated: May 7 at 9:41 PM by yishaigalatzer | Created: May 2 at 2:24 AM by Alxandr

Add more test cases to test ODL will compute the links if the service didn't set them

Add more test cases to test ODL will compute the links if the service didn't set them

Id #1897 | Release: vNext | Updated: May 5 at 8:47 AM by zjufish | Created: Apr 30 at 3:32 AM by xuzhg

Add $count segement support

$count as a segment should support in WebApi. For example: ~/Customers/$count

Id #1895 | Release: vNext | Updated: May 28 at 6:09 PM by thebothead | Created: Apr 30 at 1:23 AM by xuzhg

Support using member name as value in EnumHelper

I think having the option to use the Enum member name as value would be a good feature. Text values are a lot more descriptive, specially when used in query strings, e.g. ?color=Red instead of ?c...

Id #1894 | Release: vNext | Updated: Apr 30 at 9:19 PM by yishaigalatzer | Created: Apr 30 at 12:49 AM by maxtoroq

$expand with filter does not apply filter.

As per v4 specification I should be able to add a filter to an expanded property: http://host/service/Categories?$expand=Products($filter=DiscontinuedDate eq null) Currently the filter does seem t...

Id #1893 | Release: vNext | Updated: Aug 20 at 4:11 AM by atcrawford | Created: Apr 29 at 8:31 PM by thebothead

Help pages for odata controllers

I would like to request that the help pages, like on standard asp.net web api be provided for odata controllers as well. Currently the tooling does not work for odata. http://stackoverflow.com/qu...

Id #1892 | Release: vNext | Updated: Aug 20 at 2:45 PM by stefancratscipbe | Created: Apr 29 at 3:15 PM by psteele706

ConventionHelpers.GetProperties doesn't handle hierachies well

The following is the implementation from the method. The issue is that it only really looks one level deep in the hierarchy: public static IEnumerable<PropertyInfo> GetProperties(EntityTypeConf...

Id #1887 | Release: vNext | Updated: May 12 at 6:40 AM by azhou | Created: Apr 28 at 9:59 PM by jacalvar

Add support for functions that return heterogeneous collections of entity types

I have three entity sets and would like to expose a function that returns a collection whose contents are any number of objects from each of these three sets. According to the CSDL specification ...

Id #1884 | Release: vNext | Updated: Aug 6 at 5:55 AM by royoung | Created: Apr 25 at 5:25 PM by tyrius

add Prefer header handling logic

ODL 6.0 RTM has a behavior change on instance annotation writing: Do not write annotation by default. Webapi.odata should have logic to read "Prefer" header from request message, and then write "P...

Id #1880 | Release: vNext | Updated: Aug 17 at 9:57 PM by rcollette | Created: Apr 24 at 3:53 AM by cysu

Delegate deciding the response and content headers of the response to ODL

Currently Web API OData handles what headers go in the response (response headers and content headers). Ideally we would like to leverage ODL for this. In order to do that, we need some way to tell...

Id #1879 | Release: vNext | Updated: Aug 14 at 8:15 AM by azhou | Created: Apr 24 at 3:37 AM by cysu

MultipartStreamProvider does not allow to limit the size of multipart posts to MultipartMemoryStreamProvider

Too easy to max out service memory. See suggestions. https://aspnetwebstack.codeplex.com/discussions/542978

Id #1874 | Release: vNext | Updated: Apr 23 at 6:25 PM by yishaigalatzer | Created: Apr 23 at 3:00 PM by itaid

HttpClient.PostAsJsonAsync does not return the correct ReasonPhrase

If you consume Web API endpoint which returns HttpResponseMessage by setting the custom response message the HttpClient uses generic error messages like "Bad Request" as ReasonPhrase (for 400 Statu...

Id #1873 | Release: vNext | Updated: May 5 at 9:10 AM by zjufish | Created: Apr 23 at 12:27 PM by markoh

ODataUriParser can not parse key segment after function segment

ODataUriParser can not parse key segment after function segment such as: "~/Customers(42)/NS.BoundToEntityReturnsEntityCollectionNoParams()(42)"

Id #1872 | Release: vNext | Updated: May 5 at 9:07 AM by zjufish | Created: Apr 23 at 11:47 AM by fenzhao

NegotiatedContentResult does not copy the error message from the incoming HttpError to HttpResponseMessage.ReasonPhrase

NegotiatedContentResult does not copy the error message from the incoming HttpError to HttpResponseMessage.ReasonPhrase When ASP.NET Web API controller action with signature like this public a...

Id #1871 | Release: vNext | Updated: May 5 at 9:09 AM by zjufish | Created: Apr 23 at 11:34 AM by markoh

Functions/Actions bound to a collection of entity should be advertised.

Say entity types: Account, PremiumAccount, which derives from Account PaymentInstrument Containment navigation properties: Account.PayinPIs, which is of collection PaymentInstrument type Actio...

Id #1862 | Release: vNext | Updated: May 5 at 9:16 AM by zjufish | Created: Apr 22 at 7:40 AM by jinfutan