OData Roadmap: Exposing Any Data Source as an OData service

Play OData Roadmap: Exposing Any Data Source as an OData service
Sign in to queue


Many of the popular OData services, including Netflix, Twitpic and Facebook Insights were built by reusing their existing web API with an OData service. Implementing this type of OData service is not simple but it’s also not as hard as you might think. In this session, you’ll learn how to build similar services that wrap different types of data sources using the WCF Data Services Toolkit. We’ll take a look at the implementations for several of the popular services as examples of how to use the toolkit to create new OData services.


OData, Interop









Right click to download this episode

The Discussion

  • User profile image
    Rasmus Christensen

    This video often fails to download or play!

  • User profile image

    Same here...its not playing for me. refreshed many times

  • User profile image

    I get no sound.

  • User profile image
    Michael Johnson

    I call shenanigans!! I've done everything in his demo up to the first time he runs the project with one difference. I used the .net framework 4.0 System.Data.Services and System.Data.Services.Client. He mentioned that you could use those instead of the CTP versions. He used the CTP versions which I tried also but the toolkit references the .net 4.0 versions of those assemblies and causes a namespace collision and thus won't compile. When I run the project with the .net 4.0 assemblies reference, I get a 500 server error that indicates I should go to weblogs for more information. I have set all of my unhandled exceptions of stop to gain some kind of insight on the problem. Has any body gotten this to work!!

  • User profile image


    Sorry to hear you're having some issues. First off: the toolkit assemblies that are publically available are built against .NET 4. They can be used with the new CTP (as I did at MIX), but you'd have to download the source from Codeplex and rebuild them against those assemblies. I didn't actually use any OData v3 features in the session, so my use of the CTP was pretty superflous.

    The 500 error you're getting is a generic WCF error and could be from anything, and it's vague nature isn't because of the toolkit, that's a behavior of WCF. If you add the following attribute to your service, you should see a better error message:


    Feel free to ping me if you continue having issues.


  • User profile image
    Michael Johson

    OK ... I un-call shenanigans!!

    I'm hugh WCF newby!! I was really excited by you presentation and wanted to try this out.

    The problem was in the step where you set [DataServiceKey("Id")]. You were saying you like to override with a lower case id. I unfortunately typed "id".

    Your ServiceBehavior yielded a message that pointed to the problem!!


  • User profile image

    Anyone get this to work ? Paging doesn't work like it does in the video (my ODataQueryOperation SkipCount and TopCount are always 0) and if I get source from the codeplex and use that assembly I don't get v3. Interesting. Perhaps a link to a working demo project? That would be excellent!

  • User profile image


    Did you set a page size for the entity set you want to page? Without doing that, SkipCount and TopCount won't be enabled. It's a bug that needs to be fixed.

    As far as the v3 part, that is because I was using the CTP version of WCF Data Services in the demo, while the toolkit code on Codeplex isn't.

  • User profile image

    I am downloading the video, looks like it will take 2 hours.

Add Your 2 Cents