三层结构,数据层应该向上层返回datatable还是List<实体> ?

gzpepco 2012-05-17 04:01:36
哪种做法比较好呢?从架构设计的角度。

我用动软.net代码生成器生成的三层代码,很奇怪,GetModel返回的是实体,而GetList返回的是DataTable,为什么不返回List<model>呢?
...全文
190 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
devmiao 2012-05-17
  • 打赏
  • 举报
回复
看你的需要了。如果UI使用的是数据绑定,用dataatable比较好。如果需要对业务逻辑处理,就用实体对象。
yuji821 2012-05-17
  • 打赏
  • 举报
回复
返回List<实体
yyl8781697 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

我个人的理解是返回List<Model>耦合度会低一些,因为这样做业务层可以不用出现数据库的字段名。
[/Quote]
同意,而且可以在业务层很方便的用lambda和linq来对数据进行操作
同时在ui层的aspx页面也可以很轻松的使用<%foreach()%>来循环数据
缪军 2012-05-17
  • 打赏
  • 举报
回复
如果要分层,那就只是用一种通信协议,
千差万变的数据都统一调制到这个协议上,
提供者和消费者,都只按照接口去实现和匹配,
gzpepco 2012-05-17
  • 打赏
  • 举报
回复
我个人的理解是返回List<Model>耦合度会低一些,因为这样做业务层可以不用出现数据库的字段名。
gzpepco 2012-05-17
  • 打赏
  • 举报
回复
希望能看到和主题相关和更有说服力的回复啊
anzhiqiang_touzi 2012-05-17
  • 打赏
  • 举报
回复
代码生成器
你想它 能帮你的完成什么啊

仅仅就是一个工具而已
而且改工具的代码架构仅仅就是三层
jdc71264 2012-05-17
  • 打赏
  • 举报
回复
朋友,当某种情况的时候你就发现返回实体是多么的恶心了。。。
  • 打赏
  • 举报
回复
如果是,SqlDataReader只能用于读,在读的过程中数据库一直保持打开状态,那么返回list,后关闭库连接比较好

如果是SqlDataAdapter(数据适配器),都一样
zwj360066435 2012-05-17
  • 打赏
  • 举报
回复
一般都是返回List比较好

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧