Asp.net mvc 2 DTO在ASP.NET MVC中的应用

Asp.net mvc 2 DTO在ASP.NET MVC中的应用,asp.net-mvc-2,dto,Asp.net Mvc 2,Dto,在ASP.NETMVC2.0的上下文中,如果已经有模型,谁能解释一下为什么我们需要使用DTO(数据传输对象)?我看到了一个示例,其中web服务将DTO返回给asp.net,然后使用某个工厂类将其转换为模型。此web服务与数据库对话并以DTO的形式返回数据 在我以前的项目中,我使用数据上下文和存储库与DB通信,数据上下文和存储库用于将模型对象返回给我的控制器。然后我将这个模型传递给相应的视图。这不是更简单吗?我无法找到DTO pattern的确切用法。模型表示视图编码所依据的逻辑数据模型。这可能与

在ASP.NETMVC2.0的上下文中,如果已经有模型,谁能解释一下为什么我们需要使用DTO(数据传输对象)?我看到了一个示例,其中web服务将DTO返回给asp.net,然后使用某个工厂类将其转换为模型。此web服务与数据库对话并以DTO的形式返回数据


在我以前的项目中,我使用数据上下文和存储库与DB通信,数据上下文和存储库用于将模型对象返回给我的控制器。然后我将这个模型传递给相应的视图。这不是更简单吗?我无法找到DTO pattern的确切用法。

模型表示视图编码所依据的逻辑数据模型。这可能与数据源的比例为1:1,也可能不为1:1。在Model==DTO的情况下,我同意,DTO有些冗余


在我使用MVC的大多数情况下,很少有单一的数据源,或者缺乏将逻辑视图与物理源分离的愿望。例如,我经常调用多个服务和数据库来构建单个逻辑模型。

谢谢您的解释!所以在这种情况下,当从多个源创建DTO时,我们可以使用这个DTO本身来绑定我们的视图?或者我们只需要将1:1的数据复制到我们的模型中就可以了?我们发现出现了一些清晰的模式-复合模型结构,其中字段指向DTO实例,复合模型指向DTO周围的包装器,例如将数组转换为字典,以及复杂的工厂,这些工厂需要多个DTO来生成要放入模型中的对象。我们认为该模型是一个丰富的编程API,我们希望为视图开发人员公开和记录它。