Do you know how I could update an entity in WCF Data Services with OData syntax without the key property of the entity.
For example, an entity:
public class Product
{
[Key]
public int Id { get; set; }
public string Reference { get; set; }
}
I would like to make this request:
PUT myservice.svc/Product('REFXX')
with ‘REFXXX’ corresponding do the Reference property (which is unique).
Any idea?
I wrote a IDispatchMessageInspector, parse the url and replace the match element in the request parameter with a correct syntax and the real key. I know that the key is not the real “Key” with a specific user agent or with the syntax Service.svc/Entity(SecondaryKey=value), which is used normally for multiple pk’s.
so in the method AfterReceiveRequest the process is:
change the match element of the request with Service.svc/Entity(PKValue)
works for my current needs