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
-
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
856 votes -
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
418 votes -
Better Validation Support
Allow me to attribute the model or server side types with validation attributes. Those attributes should then we in the metadata description of the service and code gen'd onto the client types.
When I work with a service those validation attributes should be applied automatically and I should be notified when a validation failure occurs
364 votes -
Allow me to expose entities from multiple sources
A lot of the data for my OData serivce comes from my database, but I also have a need to have some of the entities in my service come from another data source (example: an existing web service)
299 votes -
Easily Compress Traffic between Client and Server
gzip, deflate
237 votes -
Support for OData Binary Serialization Format
Provide support for a third wire format (other than JSON/ATOM) that is a binary format.
233 votes -
Track entity changes at the property level
To reduce payload, solution simmilar to this one would be handy.
It has been discussed here as well: http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/180e583f-81cb-4b89-8aa9-3b1d15ec47bf/
210 votes -
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?
205 votes -
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.
171 votes -
add $format=json support in query URL
Now WCF data service supports getting json-formatted response by specifying Accept=application/json header in request only. However, It does not support $format=json as a query option, although it could be circumvented by copying code from http://code.msdn.microsoft.com/DataServicesJSONP and decorating service class with [JSONPSupportBehavior]. The lack of its support is a well-known issue. Hopefully it can be fixed soon and save people hassles of copying extra code and compiling and publishing.
170 votes -
Annotations
Allow me to add annotations to my OData model (Range, Display Member, etc) and have those be picked up by the client code generator. The annotations should be exposed by the service's metadata endpoint for any client to consume if needed.
157 votes -
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.aspx149 votes -
OData consumable in Excel 2007
By looking at the condition of the global economy, I believe there'll be some resistance to upgrade to Office 2010 when it'll be released. oData works great but it only intended to work on Excel 2010 and not Excel 2007. Can Microsoft make the oData consumable by Excel 2007? This will be HUGE for the LOB applications.
127 votes -
Caching
make HTTP and output caching easy to setup in WCF Data Services
126 votes -
110 votes
-
Add more extensibility points to give query interceptors more control over what they're intercepting
Not sure if there is already some other mechanism in place for this... ...but it would be neat if it was possible to intercept whatever the dataservice framework adds to IQueryables exposed by data services before enumerating them. If a filter, sort, paging or something else is added server side or as a result of a user request I may want to apply additional rules and/or change how this is added to the query. Especially on IQueryables with large underlying sets of data and/or a complex base query it can be important to be able to control filters and sorting…
97 votes -
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
84 votes -
80 votes
-
Aggregates
Title says it all
66 votes -
More flexible approach to implementing business logic
The current use of query and change interceptors is good for simple business logic to filter out results etc, but for more complex business logic you can end up exposing a custom service operation. I would like to see more control over wiring in business logic into data service calls.
60 votes
- Don't see your idea?