Blog - About

About Meta-Me

Hi,

My name is Alex James, a Program Manager working on the Data Services team at Microsoft.

My current focus is OData and improving the usability of Data Services, both client and server side.

Previously I worked on the Entity Framework team where I helped create EF 4.0, and CodeOnly.

I'm also really passionate about Metadata, hence the name Meta-me.

Cheers
Alex

I waffle and twitter as adjames

  • Meta-Me

    Parsing OData Paths, $select and $expand using the ODataUriParser

    • 2 Comments
    UPDATE : This post was updated on May 29th 2013 to reflect changes to simplify the SelectExpandClause API between 5.5 beta and 5.5 RTM Release, the biggest change involved merging Select and Expand into SelectedItems. The ODataUriParser is continuing...
  • Meta-Me

    OData in WebAPI – RC release

    • 20 Comments
    Next week we will release an official RC of the Microsoft ASP.NET WebAPI OData assembly. This marks the third release on our way to RTM.  Although this post talks about code that hasn’t been officially release yet, since all development is happening...
  • Meta-Me

    Parsing $filter and $orderby using the ODataUriParser

    • 2 Comments
    Background and Plans For a while now we’ve been shipping an early pre-release version of an ODataUriParser in ODataLib Contrib . The idea is to have code that converts a Uri used to interact with an OData Service into a Semantically bound Abstract Syntax...
  • Meta-Me

    OData in WebAPI – Microsoft ASP.NET Web API OData 0.2.0-alpha release

    • 30 Comments
    Since my last set of blog posts on OData support in WebAPI (see parts 1 & 2 ) we’ve been busy adding support for Server Driven Paging, Inheritance and OData Actions. Our latest alpha release on Nuget has preview level support for these features. Lets...
  • Meta-Me

    Web API [Queryable] current support and tentative roadmap

    • 7 Comments
    The recent preview release of OData support in Web API is very exciting (see the new nuget package and codeplex project ). For the most part it is compatible with the previous [Queryable] support because it supports the same OData query options. That...
  • Meta-Me

    OData support in ASP.NET Web API

    • 52 Comments
    UPDATE 2 @1:21 pm on 16th August (PST): There is an updated version of the nuget package that resolves the previous dependency issues. Oh and my comments are now working again. UPDATE 1 @10:00 am on 16th August (PST): If you’ve tried using the...
  • Meta-Me

    CQRS with OData and Actions?

    • 5 Comments
    I love the Actions feature in OData – which is hardly surprising given I was one of its designers.  Here’s the main reason why I love it: Actions allow you move from a CRUD architecture style, where you query and modify data using the same model...
  • Meta-Me

    Judgment

    • 2 Comments
    In my last post I blithely said ' This is where judgment comes in... '. Unfortunately judgment isn't easy. Now when I was younger - say 10 years ago - I was sure about everything - not least my latest harebrained API design. I chalk that up to...
  • Meta-Me

    How do I do design?

    • 2 Comments
    For a while now I've been thinking that the best way to get better at API & protocol design is to try to articulate how you do design. Articulating your thought process has a number of significant benefits: Once you know your approach you can critique...
  • Meta-Me

    TechEd 2010 Videos

    • 2 Comments
    If you didn't get to TechEd - no problem - videos of all the sessions are available here . Including my Best Practices: Creating an OData Service using WCF Data Services session . If you watch that video and want to follow try it out - you can download...
  • Meta-Me

    Tip 56 - Writing an OData Service using the Reflection Provider

    • 2 Comments
    At TechEd I got a lot of questions about how to expose Data as OData By now you probably know you can use Data Services and the Entity Framework to expose data from a database as an OData Service. You might even know you can use Data Services with...
  • Meta-Me

    OData - WCF Data Services Best Practices from TechEd

    • 1 Comments
    Yesterday I promised to share all the code from my Best Practices – Creating an OData Service using WCF Data Services session at TechED. Note: you can find a recording of that session here . So here goes, essentially this is what I did: ...
  • Meta-Me

    Creating a Data Service Provider – Part 9 – Un-typed

    • 10 Comments
    Background info: This post builds on Parts 1 thru 8 which teach you how to create a typed Data Service Provider. But now the part we’ve all been waiting for- an un-typed DSP – which is what I expect most real world DSP implementations will be based on...
  • Meta-Me

    Tip 55 - How to extend an IQueryable by wrapping it.

    • 5 Comments
    Over the last couple of years I’ve found myself in lots of situations where I’ve wanted to get ‘under the hood’ and see what is happening inside an IQueryable, but I haven’t had an easy solution, at least until now. Getting down and dirty like this...
  • Meta-Me

    Creating a Data Service Provider – Part 8 - Relationships

    • 2 Comments
    In parts 1 thru 7 we made a Read / Write typed data service provider, although it was a little simplistic because it didn’t have relationships. So lets rectify that right now by adding a relationship to make this more 'real-world' Changes to our Classes...
  • Meta-Me

    Is hiding lower level APIs bad?

    • 6 Comments
    There are many good arguments for hiding away the lower layers in your stack – essentially the building blocks upon which your public API is built - however the ‘ we don’t have the time and resources to test that layer completely ’ argument seems a little...
  • Meta-Me

    Tip 54 – How to improve performance using Statement Expressions

    • 2 Comments
    Background: While writing the update post in my Data Service Provider series I ended up writing this block of reflection code to copy properties values from one object to another: foreach (var prop in resourceType .Properties .Where(p => (p.Kind &...
  • Meta-Me

    Tip 53 – How to debug EF POCO mapping issues

    • 2 Comments
    If you are trying to use POCO classes in EF 4.0, it is relatively easy to run into problems with the mapping from your model to your CLR classes. If you get any nasty problems here, the best way to get to the bottom of things is to try to explicitly...
  • Meta-Me

    Creating a Data Service Provider – Part 7 – Update

    • 3 Comments
    In Parts 1 thru 6 we created a custom Read/Only provider over an in memory list of Products. Now it’s time to add update support. To do that we need to add an implementation of IDataServiceUpdateProvider . But first lets talk about the… Implications...
  • Meta-Me

    Tip 52 – How to re-use Types with the Data Services client

    • 2 Comments
    By default when you add a Data Service Service Reference you get automatic code-generation, which produces a strongly typed DataServiceContext and classes for all your ResourceTypes. You can have a look at this generated code if you ‘show all files...
  • Meta-Me

    Tip 51 – How to load EF metadata from arbitrary streams

    • 2 Comments
    In Tip 45 I showed you how to build a connection string at runtime, which is pretty nifty. The problem with that was that it relies on having metadata files (.csdl .ssdl and .msl) on local disk. But what if they live on a web-server or something...
  • Meta-Me

    Creating a Data Service Provider – Part 6 – Query Interactions

    • 11 Comments
    Whenever I find myself implementing a series of interfaces to plug into a framework or server, I always find myself wondering how the server will call my implementations. For me this is about forming a mental model to simplify how I think about what...
  • Meta-Me

    Creating a Data Service Provider – Part 5 - Query

    • 4 Comments
    In Part 4 of our series showing how to implement a Custom Data Service Provider we hooked up an incomplete implementation of IDataServiceQueryProvider , just enough to get the ServiceDocument and $metadata working. In this part we’ll get query working...
  • Meta-Me

    Tip 50 – How to query a Data Service using JQuery

    • 6 Comments
    Recently I’ve been spending some of my time playing with JQuery . And because Data Services can expose data in JSON format, I thought I’d use JQuery to grab some data from a Data Service. Turns out it is pretty simple. This example isn’t going...
  • Meta-Me

    Creating a Data Service Provider – Part 4 – Minimal Running Service

    • 2 Comments
    This is Part 4 of my ongoing series of posts showing how to create an Custom Data Service Provider . NOTE: I’ve done a little refactoring to the code in Part 3 to simplify the code in this post, so be sure to check that out if you’ve been following along...
Page 1 of 7 (151 items) 12345»