2012-02-10 261 views
0

我目前正在創建一個WCF服務,這只是一個只讀服務,這意味着服務上不允許寫入訪問。 WCF服務將使用Employee實體(下面)作爲數據對象,因爲我使用的是實體框架。我的問題是,處理E​​mployee實體驗證的最佳做法是什麼?我應該使用數據註解嗎?或者我應該讓實體框架拋出錯誤?WCF實體驗證的最佳實踐

當請求被代理到實體框架中時,WCF服務實體是否執行驗證?

public class Employee{ 

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

如果它是隻讀服務,爲什麼需要驗證? – 2012-02-10 07:12:34

+0

@ Wouter-我只是想讓它靈活,以防他們決定創建另一個使用上述服務的UI(ASP.NET MVC)。 – Zack 2012-02-10 07:27:33

回答

1

是的,你可以使用數據標註,以驗證您輸入尊重您的域名,例如像驗證必填字段增值的,並且數據類型和格式是正確的,等等。你還可以添加驗證方法數據契約模型來檢查例如某些字段是否必須尊重特定範圍的數據。

這種驗證可以是有用的,因爲它可以減少數據庫訪問的次數,但是如果您需要檢查數據庫中Employee的存在,您需要讓Entity Framework試圖獲取實體,所以當您需要執行驗證,只能涉及數據庫中的數據執行,沒有其他選擇來執行某些查詢。