2010-08-03 127 views
2

我们的项目经理要求我们重构使用存储库模式的应用程序(它使用Nerddinner作为示例完成),现在使用service Layer。 我现在的问题是,我不知道如何更新模型导致UpdateModel方法应该在控制器中使用...什么是建议使用存储库模式与服务层一起更新模型的方法? 请帮忙在asp.net中更新模型mvc

回答

0

我建议你''隐藏'你的服务层中的当前版本库模式。数据访问代码对于服务的客户端不应该是可见的。

您可以实现将从服务层返回或作为参数接受的DTO的集合。这些对象可以只是POCO来以数据库不可知的方式保存数据。

DTO通常伴随着适配器来转换到/从您的数据访问类(代表表)。这种方法允许您在不更改服务层接口的情况下更改数据库模式。

如果您的项目很简单并且您的视图的数据与服务层DTO匹配,那么您可以将这些DTO视为MVC中的模型。您还可以在MVC项目中定义模型,并让控制器或其他适配器将模型转换为DTO。

我的首选设计包括在MVC(模型文件夹)中声明的模型,它们与强类型视图一起工作。然后UpdateModel方法与这些类一起工作。 Next控制器或ModelAdapter创建服务层DTO的实例并将其传递给服务。然后,服务内部的DTO适配器负责从存储库模式填充数据访问类。