2012-02-10 8 views
0

現在WCFサービスを作成していますが、これは読み取り専用サービスであり、サービスに書き込みアクセスが許可されていないことを意味します。 WCFサービスは、エンティティフレームワークを使用しているため、Employeeエンティティ(下)をデータオブジェクトとして使用します。私の質問は、Employeeエンティティの検証を処理するためのベストプラクティスは何でしょうか?データアノテーションを使用する必要がありますか?エンティティフレームワークにエラーをスローする必要がありますか?WCFエンティティ検証のベストプラクティス

要求がEntity Frameworkにプロキシされている場合、WCFサービスエンティティは検証を実行しますか?

public class Employee{ 

    public int EmployeeId {get; set} 
    public string EmployeeName{get; set} 
} 
+0

読み取り専用サービスの場合、なぜ検証が必要ですか? –

+0

@ Wouter-私は、上記のサービスを使用する別のUI(ASP.NET MVC)を作成することを決めた場合に、柔軟にすることを考えています。 – Zack

答えて

1

はい、あなたはあなたにも、検証メソッドを追加することができます。..たとえばなど、その必須フィールドが付加価値化するされていることを確認し、そのデータの種類と形式が正しいかのように、あなたの入力は、あなたのドメインを尊重することを確認するために、データアノテーションを使用することができますいくつかのフィールドが特定の範囲のデータを尊重しなければならないかどうかをチェックするためのデータコントラクトモデル。

この種の検証は、データベースアクセスの数を減らすことができるので便利ですが、データベース内のEmployeeの存在を確認する必要がある場合は、Entity Frameworkでエンティティを取得しようとする必要があります。データベース内のデータのみを含む検証を実行する必要があるため、いくつかのクエリを実行する代替手段はありません。

関連する問題