This is the expected behavior. Invokes are meant to execute an operation on the server or retrieve a simple object.
As you can see, the InvokeOperation callback don't contains the usual Entities/AllEntities properties that make room for Included Entities.
I suggest you to use a standard load operation with a parameter to get your data.
public IQueryable<Product> GetProductById(int Id)
{
return this.ObjectContext.Product.Include("Order_Detail").Where(d=>d.ProductID=Id);
}
If what you're trying to achieve is "Non Accumulating Execution" (i.e. don't load your domainContext's entityContainer with the result of the query) than have a look at this post from Mathew Charles