如何从dal填充业务对象

时间:2011-07-05 16:42:08

标签: c# asp.net

我在DAL中返回DataTable。我有一个名为Customer的businessObject。我应该在哪里填写这个对象?应该在DAL中完成吗?还是在我的前端应用中?或者在哪里?有点融合。

4 个答案:

答案 0 :(得分:1)

如果可能的话,您希望避免在DAL中返回DataTable,而是返回正确填充的业务对象。有几个工具可以帮助您解决此问题,例如LINQ to SQL,Entity Framework或(我当前最喜欢的)Dapper.NET(由此站点使用)。我最喜欢Dapper,因为它很轻,适用于我经常使用的Data Repository模式。

答案 1 :(得分:0)

你可以有一个Base DAL,它返回DataTables。然后有一个Upper DAL,用于转换实体和从实体转换(这是我倾向于使用的)

你真的不应该在UI层中引用DataTables。

我之前见过的中途房屋是在实际业务对象本身的方法中进行“对象填充”,但这不允许您轻松切换DAL。

答案 2 :(得分:0)

当跨越这样的域时,每个域中的数据表示都不同,您需要一个集成层来处理两个表示之间的映射。但是,大多数ORM工具会自动为您进行映射。

但是要坚持你的例子,你可以有一层映射器来做到这一点。然后CustomerMapper会从DataTable映射到Customer,从而有效地桥接两个域表示。

答案 3 :(得分:-1)

应该在BL或业务逻辑层中完成。