Update: Found the solution here https://stackoverflow.com/a/5987733/98491
The key is to set
context.IgnoreResourceNotFoundException = true;
Now SingleOrDefault()
and FirstOrDefault()
behave like I would expect. But I am still wondering if this is the right decision because in a browser
http://localhost/ProductService.svc/Prodducts(1)
(notice the typo) throws the same ResourceNotFound exception