July, 2009

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

    Tip 28 - How to implement an Eager Loading strategy

    • 20 Comments
    Background: Over the last 2 years lots of people have complained about the way Eager loading works in the Entity Framework, or rather the way you ask the Entity Framework to eagerly load. Here is how you do it: var results = from b in ctx.Blogs.Include...
  • Meta-Me

    I never knew: C# method overloads can return different types

    • 4 Comments
    I came to C# from Java, which I’m pretty sure doesn’t (or maybe didn't) allow this, so I was super surprised today when I learnt that C# method overloads can have different return types. So this class is completely valid: public class Foo { public...
  • Meta-Me

    Tip 27 – How to Implement BeforeSave Validation

    • 4 Comments
    It is common to want to validate that your entities are ‘valid’ before you save them to the database. A naive form of validation might be to try to ensure that your entities are ‘valid’ before you add them to the context, but this doesn’t help you if...
  • Meta-Me

    A silly C# trick from the trenches

    • 7 Comments
    UPDATE: as Joe rightly points out in the comments (thanks Joe) when you try to pass a Func<T,V> to a method expecting Action<T> using lambda syntax it doesn't fail. Somehow the compiler must realize there is no match for Func<T,V> and...
  • Meta-Me

    Tip 29 – How to avoid LazyLoad or Load() reader issues

    • 1 Comments
    If you have code that looks like this: var results = from c in ctx.Customers where c.SalesPerson.EmailAddress == “…” select c; foreach(var customer in results) { Console.WriteLine(customer.Name); if (IsInteresting(customer)) { customer.Orders.Load...
  • Meta-Me

    And while you are at it… why can’t I compose REST calls?

    • 0 Comments
    In my last post I asked why you can’t compose SOA method calls efficiently. With REST services like ADO.NET Data Services having nice uniform URLs too, and a model (aka EDM) why can’t I compose those with my SOA methods too: i.e. expounding on my...
  • Meta-Me

    Why can’t I efficiently compose method calls in SOA?

    • 14 Comments
    Imagine if you have these 3 methods: public Employee GetEmployee(string alias); public Department GetDepartment(Employee employee); public Employee GetManager(Department department); Now imagine if you want to find the Manager of the Department that some...
  • Meta-Me

    Some comments on efficient SOA method composition

    • 2 Comments
    A couple of posts back I started talking about composing SOAPY operations efficiently, by shipping intent to the service. An interesting debate ensued in my comments: Kristofer (the guy behind the Huagati tools for DBML and EDMX , and it seems a man after...
Page 1 of 1 (8 items)