I think I have found a bug in the hadling of Edm.Int64 type numbers with regard to Actions assigned to an EntitySetController.
The sitution is that I'm passing in a 64 bit identity with the appended L to indicate that it's an Edm.Int64 number. This is being passed to the OData routing for an Action. The URL is thus:
The exception message I'm getting is:
The parameters dictionary contains a null entry for parameter 'key' of non-nullable type 'System.Int64' for method 'MyDomain.Domain.EntityName ActionName(Int64)' in 'MyDomain.Controllers.EntityNameController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Per section 6 of the OData refernce site (Primitive Data Types), it would seem to indicate that the Edm.Int64 type should have a appended 'L' character in order to indicate that it is an Edm.Int64 value.
The manual I looked at is here:
This seems to be inconsistant in the other URL line deseralizers, meaning that if I use a URL like:
It will return the record as anticipated.
I suspect that this is a parsing issue in the Action routing code.