从DAL返回数据对象



从数据访问层返回数据对象到接口的最佳实践是什么?

目前,我有一个层与数据库通信并返回DataTable到业务层,然后业务层实例化业务对象并返回到接口。这不是很可悲吗?

我的问题是:

-从DAL返回数据对象的最佳方式是什么?

-如果DAL不应该返回数据对象,那么我如何获得数据绑定接口的数据?

这不是问题,而是最佳实践问题。

提前感谢大家

您看过储存库模式吗?

http://msdn.microsoft.com/en-us/library/ff649690.aspx

http://martinfowler.com/eaaCatalog/repository.html

我不确定DAL 不应该返回数据对象—有许多个人偏好,这取决于诸如应用程序规模之类的因素。在我构建的大多数(小型)应用程序中,我在DAL中使用数据读取器,而不是填充和传递数据表。DAL使用数据读取器填充业务对象,然后将业务对象作为集合返回给服务层。

在一个更复杂的场景中,表并不总是等同于业务对象,我使用数据读取器填充dto(数据传输对象——非常简单的类,只包含表示表结构的变量,不包含逻辑),这些dto作为集合返回给服务层。服务层从一种或多种DTO类型构造业务对象。

我并不是说这是一个明确的答案("最佳实践"问题的问题!),但希望我的经验可以给你一个见解(做什么或不做什么是有争议的!)。我很想看看别人能给出什么答案。我想您可能会得到的一个答案是调查ORM的使用!

最新更新