Today we are releasing June CTP of the next version of the WCF Data Services libraries targeting.NET 4 and Silverlight 4. Based on broad community feedback, in addition to features shipped as part of Oct 2010 CTP1, I’m happy to announce that this release includes two of the top three requested features by WCF Data Services developers; support for properties on derived types & support for Any/All LINQ operators.
Below is a brief summary of the features available in this CTP. Subsequent blog posts will discuss each feature in more detail and provide examples of how to use each.
Properties on derived types: The WCF Data Services framework is designed to make it possible to expose a model that has inheritance hierarchy for the entities in the model however a current limitation is that only operations on properties that exist on the base type, associated with the set, are supported. This feature has been among our customers top asks since the lack of support makes exposing models with rich, well-defined inheritance hierarchies impossible to do. To enable such scenarios WCF Data Services now supports both exposing and consuming models which have properties (primitive, complex & navigation) defined on subtypes of the base type associated with the set.
Any/All: One of our customers top asks has been increasing the expressiveness of WCF Data Services queries to be able to express questions/queries like ‘are there any customers which have no orders’ or ‘are there any customers who only spend more than $100 at our shop’. In this release we added support for ‘any’ and ‘all’ canonical functions that can be used to ask these sorts of questions and can be invoked via the WCF Data Services client LINQ support.
OData Library: As part of this release we are releasing a low level OData serializer/deserializer library that can be used in client or server stacks. The currently released library include support for serializing ATOM & JSON formats as well as deserializing JSON format.
Frequently Asked Questions
Q1: What are the prerequisites?
A1: See the download center page for a list of prerequisites, supported operating systems, etc.
Q2: Does this CTP install side-by-side with March CTP that is currently on my development machine?
A2: No, side-by-side installation for these CTPs is not recommended. If the Data Services June 2011 CTP and the Data Services March 2011 CTP are installed on the same machine, Add Service Reference in Visual Studio will use the Data Services June 2011 CTP to generate the service reference in projects using either the March 2011 or June 2011 versions of the Data Services assembly. Please uninstall the Data Services March 2011 CTP before installing the Data Services June 2011 CTP. If you already have both CTPs installed, please uninstall both and then reinstall the Data Services June 2011 CTP.
Q3: Does this CTP install side-by-side with the .NET 4 and Silverlight 4 versions that are currently on my development machine?
A3: By in large this install is side-by-side with existing .NET4 and SL4 bits; however, that was not possible in all cases so some VS files will be modified by the CTP installer to enable the Add Service Reference gesture in Visual Studio 2010 to make use of the new features in this CTP. The files should be replaced to their original state during uninstall of this CTP.
Q4: Does this CTP include support for Windows Phone 7?
A: No, you can download the Windows Phone 7 SDK, which includes the OData client, from here. The Windows Phone 7 client does not yet support new features like properties on derived types.
The following forum is dedicated to providing feedback on "pre-release" versions of data services such as this CTP: http://social.msdn.microsoft.com/Forums/en-US/dataservices/threads. Please direct all your questions about the release to this forum.
Note: The forum intended for questions on currently shipping versions of ADO.NET Data Services is still available at: (http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/threads ).
We look forward to hearing your thoughts on the release!
Ahmed Moustafa Program Manager WCF Data Services