OData
Create and consume RESTful APIs in a simple and standard way
Latest posts
Actions in WCF Data Services – Part 2: How IDataServiceActionProvider works
In this post we will explorer the IDataServiceActionProvider interface, which must be implemented to add Actions to a WCF Data Service. However if you are simply creating an OData Service and you can find an implementation of IDataServiceActionProvider that works for you (I’ll post sample code with Part 3) then you can probably skip this post. Now before we continue, to understand this post fully you’ll need to be familiar with Custom Data Service Providers and a good place to start is here. IDataServiceActionProvider Okay so lets take a look at the actions interface: public interface IDataServiceActi...
Actions in WCF Data Services – Part 1: Service Author Code
If you read our last post on Actions you’ll know that Actions are now in both OData and WCF Data Services and that they are cool: “Actions will provide a way to inject behaviors into an otherwise data-centric model without confusing the data aspects of the model, while still staying true to the resource oriented underpinnings of OData." Our key design goal for RTM was to allow you or third party vendors to create an Action Provider that adds Action support to an existing WCF Data Services Provider. Adding Actions support to the built-in Entity Framework Provider for example. This post is the first of ...
WCF Data Services 5.0 RTM Release
I’m very pleased to announce the WCF Data Services 5.0 RTM release. You can download WCF Data Services 5.0 from here. This release includes several client and server features and libraries for .NET 4 and Silverlight 4. Below is a brief breakdown of the features that are available in this release. Upcoming blog posts will dive into Vocabularies By providing the ability to annotate metadata and instance data, vocabularies define a powerful extensibility point for OData. They convey meaning and extra information to enable richer client experiences. Simple vocabulary terms can do things like indicate a property...
Announcing OData T4 for C#, Preview 1
I’m very excited to announce the release of OData T4 for C# Preview 1, for the October 2011 CTP of the next version of WCF Data Services libraries, with support for code generation of service operations. The goal of this T4 preview and subsequent ones will be to get community feedback on the templates before having “Add Service Reference” natively generate T4 templates out of the box in a future release. Note that support for service operations was added to the T4 because many customers already use it and it has been a regularly requested feature by the community. Having said that, some support for actio...
Using Geospatial Data
This CTP of WCF Data Services adds support for geospatial data. The release allows use of all of the OData geospatial data types and the geo.distance() canonical function. This enables two key scenarios: Before I illustrate use of these features, I'd like to mention some limitations of this CTP. First, (and most significantly) WCF Data Services providers only support geospatial data with custom or reflection providers. You can't use Entity Framework at this time. OData will support geospatial data over EF as soon as there is an EF release that supports geospatial data. Second, this CTP does not allow null values ...
Actions in WCF Data Services
“Actions will provide a way to inject behaviors into an otherwise data-centric model without confusing the data aspects of the model, while still staying true to the resource oriented underpinnings of OData." The October 2011 CTP of WCF Data Services adds powerful, but incomplete support for Actions. The motivation behind Actions stems from wanting to advertise in an OData entry an invocable ‘Action’ that has a side-effect on the OData service. This statement is broad, but deliberately so; Actions have a lot of power. Using WCF Data Services to Invoke an Action: This release’s WCF Data Services client...
Introducing the OData Library
This blog talks about a new feature delivered in the WCF Data Services October CTP that can be downloaded here. WCF Data Services’ latest CTP includes a new stand-alone library for working directly with OData. The library makes public some underpinnings of WCF Data Services (the server and client library), and we made this library stand-alone to allow its use independent from WCF Data Services. The library provides a low-level implementation of some components needed to build an OData producer/consumer. Specifically, we focused on the core tasks of reading/writing OData from streams in the library&rs...
Vocabularies in WCF Data Services
Update (6/4/2012): This post is updated to reflect the few changes that were made to the vocabularies in OData v3 and the vocabularies feature in WCF Data Services 5.0. Please download the WCF Data Services 5.0 from the download center to follow along the code samples below. One new feature in WCF Data Services is Vocabularies. You can learn more about vocabularies and how they are supported in OData here. In a nutshell, a vocabulary is a namespace containing terms where each term is a named metadata extension for an OData service. In this post, I’ll explain how to use this feature to produce an OData se...
Announcing WCF Data Services Oct 2011 CTP for .NET 4 and Silverlight 4
I’m very excited to announce the release of the October 2011 CTP of the next version of WCF Data Services libraries. This release includes libraries for .NET 4 and Silverlight 4 with new client and server features in addition to those included in our last October 2010, March 2011 and June 2011 CTPs. 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. Actions: The inability to kick-off a (non-CRUD) related server process via an OData hypermedia action was an omission somewhat miti...