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. Indexing CLR Types

    When I have very large data sets loaded in memory, there is no way to tell Linq (and hence Data Services) that certain properties should be indexed to speed up queries.

    I'd like to be able to apply an attribute to a property that tells the CLR to index any objects that I create of that type by its property. The Linq/Data Services could make use of this information to more efficiently find objects.

    8 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 →
    • Better error messages when restricted characters are used as entity keys

      Usually it's not immediately apparent what's going on when a 400 Bad Request comes back from a service due to restricted characters in entity keys (%,&,*,:,<,>,+,#, /, ?,\) Provider better error messages and provide for better mechanisms that allow for restricted characters in keys that aren't security risks.

      8 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 →
      • 7 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 →
        • Provide small dataset sample server(s) that do everything

          For example, a case with a $expand that will have main entries, each with 2 feeds, where one of those feeds has entries with feeds. Being able to test this where each level returns 5 - 7 entries, but pages them 2 entries at a time would make it much easier to test paging on the client side.

          The same for returning every PayloadKind - at present we can't find an example that returns a Collection. Anyone writing a client app needs to get a sample service with this to test that it handles this case correctly.

          7 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 →
          • Support navigation properties on complex types

            WCF DS recently (5.0?) introduced the awesome feature of properties being collections of complex objects. This makes great sense for e.g. orders/orderlines and persons/addresses, since each orderline/address is owned by its parent (order/person) and does not need to be an entity. For some backends this enables great performance increase in some scenarios.

            The typical theoretical example of using complex types is an Address property of some entity. In the real world an address typically contains a city and/or a country. Although the address is unique, the city and/or county probably would be shared between several entities. Thus we would like…

            7 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 →
            • Support for DB trigger Callback Option

              When there is some row is added/deleted/modified to the table which is mapped to the Entity, then client should be notified. This would be very powerful feature

              7 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 →
              • WCF + OData + EF Code First + Singleton: please publish real-world sample!

                I've tried to get an answer to the following request in different forums, e.g. http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/c91a5988-3298-4ca8-8688-a6fa4558dcf5, however as this is cross-product line, nobody seems to have a best-practice advice.

                Can Microsoft please publish a *working* real-world sample, demonstrating the co-existence of classic WCF, OData and EF code first using a singleton object as the root of an object graph:

                - a singleton object is the root of an object graph in memory (let's say: a company, its employees and their computers; two 1:n relations)

                - the singleton and its graph is accessed using classic WCF for complicated method calls AND…

                7 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 →
                • AllowWriteStreamBuffering = false

                  Allow setting of the .AllowWriteStreamBuffering property of the request. Right now data services always internally sets it to true during save changes no matter the value that is set beforehand. This is not good as it forces entire requests to be buffered client side. This has a really negative impact if trying to stream BLOB media (like a video) as a media linked entity.

                  6 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…)
                    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                  • make OData feeds (if of atom format) readable by Atom feed readers

                    OData is clained extension to Atompub and its main format is of Atom. However, OData does not enforce its feeds(entityset) Atom syndication compliant, and feed readers at large (like google reader) usually cannot render Odata feed properly. Should OData feed be a valid Atom syndication - with Odata extensiton like content/property of course, all feed reader would be able to dispaly it decently, given its content type if atom+xml.

                    6 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 →
                    • Return the metadata only for a select

                      Have a $metadata only command for a select. This would return the full metadata for a select, but no actual data.

                      We need the metadata because we then provide the user with what properties they can make use of from a select. When providing that metadata in a prompt, we do not need any data at that point in time.

                      This should be on the server so that a program written to handle version 3 will still provide the correct metadata if the server is version 4 and the uri passed in uses commands that are new to version 4…

                      6 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 →
                      • Allow re-using entities from another dll on the client-side generated code

                        When adding a service reference to a WCF Data Service allow me to choose a project or dll which has the entities already defined as POCOs which can be used (using their original namespaces) rather than re-creating the entities in the Reference.cs with the same namespace as the service.

                        This should make things much easier on a large scale project with multiple WCF Data Services which all use the same EF entities.

                        6 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 →
                        • Propagate Comments/Description from EDM to DataService Metadata then to Client Proxy

                          Propagate any existing comments in the EDM to the DataService $metadata so that the client proxy can put that into the comments of the generated properties, giving us meaningful intellisense about the classes and properties in the client.

                          6 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…)
                            1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                          • Optimization for .NET clients

                            If WCF Data Service has a .NET client, going over .NET Client API, communication between service and that client could be additionaly optimized. I think that this would be very helpfull.

                            6 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 →
                            • Support Column/Field Level Access Restrictions

                              Currently WCF supports access restrictions at the entity level using entity set access rights (and something similar for service operations). It also supports, through query interceptors, the ability to filter rows on a per-request basis. It does not, however, support access restrictions on a per-field basis. It is also quite difficult to add support for this. The only workarounds are non-trivial, especially if you're using entity framework as your provider because WCF custom generates query Expressions specifically for entity framework's IQueryable implementation, differently from custom providers or the reflection provider.

                              So far, the only workarounds that appear to be feasible…

                              6 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 →
                              • Use WSDLto define OData Services instead of CSDL

                                Using WSDL to define service contracts will make it easier for non-Microsoft platforms to consume the services and lead to greater industry acceptance.

                                6 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 →
                                • Implement Authentication

                                  Almost all applications need authentication.

                                  5 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 →
                                  • 5 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…)
                                      1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                    • edmx support for business logic within the entity

                                      Being able to add read only fields. The canonical example being
                                      public string FullName {
                                      get { return firstName + lastName; }
                                      }

                                      This would need to be done via EDMX - some method to wire it into the partial class, or if not auto-generated, the POCO class.

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

                                        4 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 →
                                        • Provide an attribute to prevent property being included in POST/MERGE requests

                                          There are cases when you need to add an extension property to an entity on the client, such as for the StreamUri property of an MLE. We need to provide a way to not include this property in requests to the data service, which results in an error. It would be great to have an attribute, as in this blog post: http://blogs.msdn.com/b/phaniraj/archive/2008/12/11/customizing-serialization-of-entities-in-the-ado-net-data-services-client-library.aspx

                                          4 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…)
                                            1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          WCF Data Services Feature Suggestions

                                          Feedback and Knowledge Base