WCF Data Services Feature Suggestions

Welcome to the WCF Data Services feature suggestion list. Find out more information about Data Services at http://msdn.microsoft.com/data .

If you have questions, need help or find a bug in Data Services, visit the forums at http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/threads

WCF Data Services Feature Suggestions

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 vote and comment on it.

If it doesn't exist, you can post your idea so others can vote on 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,045 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      11 comments  ·  Flag idea as inappropriate…  ·  Admin →

      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.

    • 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

      488 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        7 comments  ·  Flag idea as inappropriate…  ·  Admin →

        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.

      • 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.

        297 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          8 comments  ·  Flag idea as inappropriate…  ·  Admin →
        • 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.

          279 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            6 comments  ·  Flag idea as inappropriate…  ·  Admin →
          • 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
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              3 comments  ·  Flag idea as inappropriate…  ·  Admin →

              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.

            • 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

              161 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                2 comments  ·  Flag idea as inappropriate…  ·  Admin →

                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.

              • 122 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  3 comments  ·  Flag idea as inappropriate…  ·  Admin →

                  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.

                • Aggregates

                  Title says it all

                  111 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    5 comments  ·  Flag idea as inappropriate…  ·  Admin →

                    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.

                  • 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

                    99 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                    • 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…

                      98 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                      • 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.

                        83 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                        • 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.

                          72 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                          • 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.

                            52 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              3 comments  ·  Flag idea as inappropriate…  ·  Admin →
                            • 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.

                              48 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                              • 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.

                                47 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  3 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                • 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
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                  • 41 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                    • 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
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Support load of related entities with filtering

                                        Load Customers with filter City="NYC" and Customer.Phones, and related Orders where Order.Status ="Open" and also Order.OrderDetails

                                        37 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Graph update

                                          I often have a detached entity posted back to server (web, but is applicable for any other technology as well), and want to save the entire entity graph with all its navigation and collection properties; some of which are FKs.

                                          Basically I'm looking for something using the idea of GraphDiff (see here: https://github.com/refactorthis/GraphDiff).

                                          This is for me a blocking-level issue and I hope it to be implemented quickly.

                                          34 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4 5 6 7
                                          • Don't see your idea?

                                          WCF Data Services Feature Suggestions

                                          Feedback and Knowledge Base