2011-05-25 79 views
0

我有搜索員工頁面和編輯員工日期。用戶可以在員工搜索頁面中搜索數據,並顯示員工的名字和姓氏,因此我在演示模型中創建了SearchEmployeeEntity。當用戶點擊編輯員工時,我會從服務中獲取數據,這次我得到名字,姓氏,用戶名,生日和其他信息,因此我創建了另一個演示模型名稱EmployeeEntity。在Silverlight RIA Service中創建PresentationModel的正確方法是什麼?

我覺得我的設計了一段時間,有兩個辦法這樣做,一個是我剛纔解釋的上方,另一種是在這兩個服務只使用一個演示模型(EmployeeEntity)。

無論如何,如果我在所有的地方(搜索頁面和編輯頁面)使用EmployeeEntry這是相當困難的,因爲我使用靜態DomainContext來管理數據。

請建議我,在Silverlight應用程序中創建演示模型的方式很好?

P.S.我在我的客戶端使用MVVM。

回答

1

它是相同的實體,所以你應該只需要一個。不同之處在於它使用的上下文 - 要麼是創建一個新的Employee,要麼是編輯一個現有的Employee。

Silverlight RIA Services將爲您處理這個問題,因爲它知道如何執行更改跟蹤。

所以,當你正在編輯,你會做對你的背景下,查找並執行LoadOperation,這將實體從DB返還給您。允許用戶在客戶端ide上編輯Employee的字段,然後執行SubmitOperation以將更改保留到數據庫。

對於新員工,您在您的ViewModel中創建一個新的EmployeeEntity,然後將其添加到Context的Employees集合中。像這樣:

EmployeeContext.Employees.Add(Employee); 

當字段填寫正確(希望你充分利用Silverlight的超級簡單的驗證規則,以確保正確的數據),那麼你再次執行SubmitOperation保存新的實體到DB。

相關問題