从数据访问层返回数据对象

3
什么是从数据访问层返回数据对象到接口的最佳实践?
目前,我有一个与数据库通信并将DataTable返回给业务层的层,然后业务层实例化业务对象并返回到接口。这不是可悲的或不良的做法吗?
我的问题是:
- 从DAL返回数据对象的最佳方法是什么?
- 如果DAL不应该返回数据对象,那么我如何将数据传递到接口进行数据绑定?
这不是一个问题,而是一个最佳实践问题。
谢谢大家提前。
2个回答


0

我不确定DAL是否应该返回数据对象 - 这取决于许多个人偏好和应用程序规模等因素。在我构建的大多数(较小的)应用程序中,我在DAL中使用了datareader而不是填充和传递DataTable。 DAL使用datareader填充业务对象,然后将其作为集合返回到服务层。

在更复杂的情况下,当表格并不总是等同于业务对象时,我使用datareader填充DTO(数据传输对象 - 非常简单的类,只包含表示表结构而没有逻辑的变量),然后将其作为集合返回到服务层。服务层从一个或多个类型的DTO构造业务对象。

我并不是说这是一个明确的答案(“最佳实践”问题的问题所在!),但希望我的经验可以提供一些见解(要做什么或不要做什么是有争议的!)。我自己也很感兴趣看看其他人能贡献什么答案。我想你可能会得到的一个答案是调查ORM的使用!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接