我有 DataService 其中 T 是一个 EntityFramework DbContext 类
我的客户端应用程序是带有服务参考的 Windows 窗体应用程序。
从服务中获取单个实体的最佳方法是什么?
此代码有效:
var uri = new Uri("http://localhost/ProductService.svc/");
var context = new ProductContext(uri);
var result = context.Products.Where(x => x.ProductId == 123).FirstOrDefault();
但是,它之所以有效,是因为该产品存在。那是因为我可以通过执行看到结果
http://localhost/ProductService.svc/Products(123)
在浏览器中。如果我想查询数据库中不存在的产品 123456
http://localhost/ProductService.svc/Products(123456)
我看到一个错误文本“未找到“产品”部分的资源
问题是,在客户端我得到一个异常,但我希望FirstOrDefault()
它是空的。当然我可以使用一些异常处理,但我想知道我的方法是否正确,或者是否有更好的方法来获取单个对象。