Edited Feature: Reconsider how to pass the request/response to media type...
This is especially impactful for OData where we've had to implement content negotiators and value binders to get this functionality. And GetPerRequestFormatterInstance is affecting performance on both...
View ArticleEdited Issue: DependencyScope is disposed before the HttpControllerTracer [768]
### Facts - I am using AutoFac as IoC container - I enabled tracing with my custom tracer. - During the trace operation, I try to get the `DependencyScope` through request.Properties collection.###...
View ArticleCreated Unassigned: Provide a default implementation for changeset unit of...
The current implementation of DefaultODataBatchHandler doesn't provide any kind of Unit Of Work semantics as defined for changesets in the OData V3 specification. The current implementation processes...
View ArticleEdited Issue: $expand fails when the navigation property being expanded is...
**Url**`/api/passos?$expand=ProximoPasso&$select=Nome,ProximoPasso/Nome`**Code**``` public abstract class EntityNome : IEntity{ public int Id { get; set; } public string Nome { get; set; }}``````...
View ArticleEdited Issue: Can't unit test code that generates OData links [769]
There's no unit that encapsulates the logic around generating a full OData link, so tests end up integration style. Having an odata link factory abstraction allows unit testing such code.We are putting...
View ArticleEdited Issue: Emit navigation properties with source multiplicity '*' if the...
we emit properties with source multiplicity '0..1' by default if the target multiplicity is 1. users cannot configure the source end of the multiplicity. So, we should emit a better default which in...
View ArticleCommented Issue: Emit navigation properties with source multiplicity '*' if...
we emit properties with source multiplicity '0..1' by default if the target multiplicity is 1. users cannot configure the source end of the multiplicity. So, we should emit a better default which in...
View ArticleEdited Issue: Direct link generation should be consistent with Url.Link when...
The direct link generation generates "http://localhost/prefix/", while Url.Link generates "http://localhost/prefix" when the OData path is empty. There's a slight inconsistency here that we should fix.
View ArticleEdited Issue: Expose queryable mode option in ODataConvetionModelBuilder [804]
This is useful for unit testing following actions:IQueryable<string> Get(ODataQueryOptions<Todo> options)Users have to build options by themselves and in that case, they need a queryable...
View ArticleEdited Issue: Document dependency between EntitySetController.CreateEntity...
If you override CreateEntity and do not override GetKey, you get an obscure error when calling the service:{"odata.error":{"code":"POST requests are not...
View ArticleCommented Issue: Document dependency between EntitySetController.CreateEntity...
If you override CreateEntity and do not override GetKey, you get an obscure error when calling the service:{"odata.error":{"code":"POST requests are not...
View ArticleEdited Issue: Add AllowedFilterProperties to the Queryable attribute [851]
Similar to AllowedOrderByProperties.
View ArticleEdited Issue: Overriden CreateLink method does not work [888]
I derive my controller class from EntitySetController<TEntity, TKey>I have overriden the CreateLink method of base class:```public override void CreateLink(int key, string navigationProperty, Uri...
View ArticleEdited Feature: [OData] Add support for nested paging. [1016]
Now that we have $expand support, we should add support for server-driven paging for expanded feeds.
View ArticleCreated Issue: Add simple support for OData nested paging [1101]
Implement nested paging where every level is paged at the same size.
View ArticleEdited Issue: Make ODataQueryOptions behave more like a property [1061]
As of right now, every time the user calls EntitySetController.QueryOptions we create a new instance of ODataQueryOptions<T>.This causes some problems when the user calls it several times and...
View ArticleEdited Issue: Add a Request.CreateResponse overload that takes the content...
Request.CreateResponse<T> doesn't use the runtime type of the object for content-negotiation. This would be an issue when the formatter doesn't responds to CanWriteType(typeof(object)) with false...
View ArticleEdited Issue: $expand breaks use of Get(ODataQueryOptions) [1073]
Bug, or "how do I do this", in Web API OData:Using the nightly builds to test out $expand support - note that I really really want to switch to Web API OData over WCF Data Services, because the...
View ArticleEdited Issue: EntitySetController.Get(TKey) breaks when $expand query options...
This is a bug in Web API OData, nightly build. I believe this is a bug in `ODataEntityTypeSerializer`, but it is also likely a design flaw in EntitySetController.In OData, it's valid to have a url like...
View ArticleEdited Issue: Json.Encode doesn't encode array properties returned from...
With this code:```var personJson = "{name:\"George\",aliases:[\"Peter\",\"David\"]}";var person = Json.Decode(personJson);person.name = "Michael";personJson = Json.Encode(person);```Json.Encode is...
View Article