首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在asp.net网站中使用DTO实现4层体系结构

在asp.net网站中使用DTO实现4层体系结构
EN

Stack Overflow用户
提问于 2011-11-22 20:38:54
回答 2查看 409关注 0票数 0

我对DTO没什么担心。我正试图为我的asp.net网站创建4层架构。我将有DTO,BLL,DAL和演示层。

  1. 是否需要为每个表创建DTO?我有将近100个表,有些表有70-100列。
  2. 对于连接5-8表的复杂查询,如何处理?是否需要为每个表获取DTO,然后对BLL中的所有DTO列表运行Linq查询,然后将结果返回到aspx页面?

如果有其他建议,请告诉我。提前谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2011-11-22 21:09:25

您只需要在需要将一个简单对象(可能从DAL存储库(其中您的DTO =一个表、存储过程结果或视图结果)传递给域/ BLL对象时才需要DTO,该对象很可能是一个提供域的逻辑视图的聚合对象,而不是数据库中的一个到一个映射。这一切都取决于你是如何‘成长’你的申请。

如果你有很多类似的DTO,那么使用像AutoMapper这样的工具是个好主意--它将节省你大量的时间来编写无聊的映射代码。

票数 1
EN

Stack Overflow用户

发布于 2011-11-22 20:46:31

有些人坚持要为您发出的每一次服务呼叫设置单独的DTO。根据逻辑的复杂性,这可能会导致100多个不同的DTO。

我更喜欢一种通用方法,在DTO和域实体之间建立一个DTO模型,其中DTO与域实体之间具有1-1的对应关系。在这种方法中,您将拥有100个DTO表。如果您使用任何工具自动创建代码(Codesmith,T4),则创建DTO层非常容易。

另一个需要注意的是,返回复合结果可以使用一个通用的DTO容器来保存DTO类:

http://netpl.blogspot.com/2010/12/generic-dto-model-and-other-silverlight.html

(本节从“通用DTO模型”开始)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8233506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档