3

T が EntityFramework DbContext クラスである DataService があります

私のクライアント アプリは、サービス参照を持つ 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)

エラーテキスト ` セグメント 'Products' のリソースが見つかりません' が表示される

問題は、クライアント側で例外が発生することですが、FirstOrDefault()代わりに null になると予想されます。確かにいくつかの例外処理を使用できますが、私のアプローチが正しいかどうか、または単一のオブジェクトを取得するためのより良い方法があるかどうか疑問に思っています。

4

1 に答える 1