[Closed] WCF Data Services Feature Suggestions

This web site is planned to be retired in July 31, 2019. This web site is no longer being monitored by the Microsoft OData team. Visit http://odata.github.io/odata.net/ for current information on the Microsoft OData Stack for .NET and where to submit feedback.

Welcome to the WCF Data Services feature suggestion list. Find out more information about Data Services at our MSDN page.

If you have questions, need help or find a bug in Data Services, visit our forums.

How can we improve WCF Data Services?

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Support Enums as Property Types on Entities

    have a type on the server that is defined by an Enum with a restricted set of values, I want to be able to expose that through my model and through my data service

    1,081 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    14 comments  ·  Flag idea as inappropriate…  ·  Admin →
    started  ·  Mark Stafford responded

    Good news: this is coming – and not just on entity types but on complex types as well. Enums are part of the OData v4 protocol. In fact, it was one of the things we argued vociferously for precisely because of the number of votes on this issue.

  2. Auto generate methods on the client to call service operations

    I have a service operation defined on my service that is exposed via the metadata. When I use the Add Service Reference gesture to create client proxy code, the proxy code should include methods that call those service operations (for instance, if I have a service operation with the signature "IQueryable<Customer> GetCustomerByCity(string city)", I should have a corresponding client method that calls that service operation and materialized the result

    500 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  Flag idea as inappropriate…  ·  Admin →
    planned  ·  Mark Stafford responded

    While this ask is purely a feature ask, we currently do not generate methods on the client to call service operations. As part of the OData v4 client library, we plan to modify our code generation from using CodeDom to a T4 template. Best case scenario, in the same time frame we will make that T4 template publicly available and anyone can modify it to their heart’s content. Worst case scenario, we will either add this feature ourselves down the road or make the T4 template public as soon as we can.

  3. Don't abandon WCF Data Services

    Dear OData team, I am requesting that you reconsider this:
    http://blogs.msdn.com/b/odatateam/archive/2014/03/27/future-direction-of-wcf-data-services.aspx

    Web API is not a drop in replacement for WCF Data Services.

    398 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    13 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. DataServiceCollection Mock/Stub support

    Allow for the mocking / stubbing of the DataServiceCollection and context. All the constructors are internal. It would be nice if they all had interfaces that could be easily stubbed out.

    348 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. Support Type Inheritance in Complex Types

    Type inheritance is a "must have" if you want to facilitate the adoption of OData on current object oriented frameworks.

    As V3 will fully support Entity Type inheritance, why not extending it also for complex types, as the CSDL Format spec already states?

    251 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
    started  ·  Mark Stafford responded

    Good news: this is another thing that we felt was really important to take to the OData v4 protocol committee. This feature will be available in the near future as we finish work on our v4 stack.

  6. Support Containment / Hierarchical Models in OData

    If I have a schema that has Orders and OrderDetails, I dont want /OrderDetails to be direclty accessible. I only want it to be readable through its parent: /Orders(1)/OrderDetails. Basically what was discussed on the astoria blog a while ago:
    http://blogs.msdn.com/astoriateam/archive/2007/12/21/design-notes-uri-containment-in-astoria.aspx

    164 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
    started  ·  Mark Stafford responded

    Good news: this is another thing that we felt was really important to take to the OData v4 protocol committee. This feature will be available in the near future as we finish work on our v4 stack.

  7. 118 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
    started  ·  Mark Stafford responded

    As part of the OData v4 client library, we plan to modify our code generation from using CodeDom to a T4 template. Best case scenario, in the same time frame we will make that T4 template publicly available and anyone can modify it to their heart’s content. Worst case scenario, we will make the T4 template public as soon as we can.

  8. Aggregates

    Title says it all

    114 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Mark Stafford responded

    As Ralf points out, this feature will be an extension to OData v4. Implementing this part of the protocol is not an immediate priority for us, but we will continue to watch the feedback on this and other channels.

  9. Support batch updates with entities that have a MediaEntry (Stream)

    The WCF DS Client currently does not support batch updates with entities that have the MediaEntry attriute (IsMediaLinkEntry=true). This makes it impossible to have Streams/Blobs/Documents being part of a transaction by using Context.SaveChanges(SaveChangesOptions.Batch).

    It would be nice to have this supported out-of-the-box by the WCF DS Client.

    The issue has been discussed here: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/26387eb6-0798-46a2-9010-8ead84b38144

    102 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. CORS support

    Spec: <http://www.w3.org/TR/cors/>

    This suggestion is about full support for CORS in WCF Data Services to (1) eliminate the need for custom WCF service hosts and WCF message inspectors and (2) make it as easy as possible to define a policy.

    101 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. Retrieve DbContext in EntityFrameworkDataService

    There doesn't seem to be an obvious way to get the underlying `DbContext` object from the `EntityFrameworkDataService` API for Entity Framework 6 in the new out-of-band WCF Data Services Entity Framework provider package [0].

    There is at least one comment in the announcement article and one thread [1] on the forums about this, so I guess a little note to clarify this (for example on the blog) would be greatly appreciated.

    Note: Making the `DbContext` accessible via the `CurrentDataSource` property (as it was before) would be very nice, as not doing so breaks a lot of code for no obvious…

    101 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. WIF integration

    Integrating WIF into data services is harder than it should be (having to extract a token from an auth header and write a WCF ServiceAuthorizationManager implmentation). It would be great if this was supported out of the box.

    74 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. OData "Deep Insert" Request Support

    Part of the OData protocol is to allow a "deep insert" where you can send a request with multiple items in one request. According to some MS employees on the forums, this is currently not supported in the WCF DS and it is really something that should be added.

    66 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. Entity Framework 6 provider

    The Entity Framework provider in the current version of WCF Data Services does not yet support Entity Framework version 6.0 or future versions. Please make this a priority, as there is functionality I REALLY need from EF6, like table valued functions from a code-first model and reduced model building time.

    59 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  15. Parameterized DbMigration.Sql argument

    As of EF 6, the `DbMigration.Sql` method has an argument named `anonymousArguments` that I assumed provided support for parameterized SQL, but it does something totally different.

    So what I propose is the addition an argument like the `parameters` argument of the `System.Data.Entity.Database.ExecuteSqlCommand` method that takes a list of parameters. Although I like the anonymous type parameters syntax, remaining consistent with other parts of Entity Framework is understandable.

    54 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. Send parameters of Service operation in body

    Currently, service operation requires parameters passed in query string even in case of POST request. Batch request can avoid the limitation of query string length, but it still has limitation of System.Uri class (64Kib) on client and server sides of custom data service.
    So, we can't serialize complex data and pass it as input parameter of service operation without small size limitation.

    51 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Filtering by value from naviagtion properties

    Filtering by value from naviagtion properties.

    Persons?$filter = Age eq 30 and /Children.Age > 5

    46 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
    started  ·  Mark Stafford responded

    This will be possible in v4 of the OData protocol (although the syntax looks a little different).

  18. 45 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. Recognize 'Id' as default entity key

    Only 'ID' (all uppercase) is currently recognized as the default entity key. Please make this a case-insensitive match so I don't have to keep adding the DataServiceKey attribute to all my entities.

    40 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. Support caching of reference data on the client

    Allow me to attribute my “reference data” entities, e.g. a Product Catalog, and add support for easily caching the data locally, accessing it while not connected to the internet, and easily incrementally updating it.

    39 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1 3 4 5 6 7

[Closed] WCF Data Services Feature Suggestions

Feedback and Knowledge Base