2010-08-03 91 views
2

我們的項目經理要求我們重構使用存儲庫模式的應用程序(它使用Nerddinner作爲示例完成),現在使用service Layer。 我現在的問題是,我不知道如何更新模型導致UpdateModel方法應該在控制器中使用...什麼是建議使用存儲庫模式與服務層一起更新模型的方法? 請幫忙在asp.net中更新模型mvc

回答

0

我建議你''隱藏'你的服務層中的當前版本庫模式。數據訪問代碼對於服務的客戶端不應該是可見的。

您可以實現將從服務層返回或作爲參數接受的DTO的集合。這些對象可以只是POCO來以數據庫不可知的方式保存數據。

DTO通常伴隨着適配器來轉換到/從您的數據訪問類(代表表)。這種方法允許您在不更改服務層接口的情況下更改數據庫模式。

如果您的項目很簡單並且您的視圖的數據與服務層DTO匹配,那麼您可以將這些DTO視爲MVC中的模型。您還可以在MVC項目中定義模型,並讓控制器或其他適配器將模型轉換爲DTO。

我的首選設計包括在MVC(模型文件夾)中聲明的模型,它們與強類型視圖一起工作。然後UpdateModel方法與這些類一起工作。 Next控制器或ModelAdapter創建服務層DTO的實例並將其傳遞給服務。然後,服務內部的DTO適配器負責從存儲庫模式填充數據訪問類。