[英]How to fill business object from dal
我在 DAL 中返回 DataTable。 我有一个名为 Customer 的业务对象。 我应该在哪里填写这个 object? 应该在 DAL 中完成吗? 还是在我的前端应用程序中? 还是在哪里? 有点迷茫。
如果可能,您希望避免在 DAL 中返回DataTable
,而是返回正确填充的业务 object。 有几个工具可以帮助您解决这个问题,例如 LINQ 到 SQL、Entity Framework 或(我目前最喜欢的) Dapper.NET (由该站点使用)。 我最喜欢 Dapper,因为它是轻量级的,并且与我经常使用的 Data Repository 模式配合得很好。
您可以有一个返回 DataTables 的 Base DAL。 然后有一个 Upper DAL,它执行实体之间的转换,(这是我倾向于使用的)
你真的不应该在你的 UI 层中引用 DataTables。
我以前见过的中途之家是在实际业务 object 本身的方法中进行“对象填充”,但这不允许您如此轻松地切换 DAL。
当像这样跨域时,数据的表示在每个域中都不同,您需要一个集成层来处理两种表示之间的映射。 不过,大多数 ORM 工具会自动为您进行映射。
但是要坚持您的示例,您可以使用一层映射器来执行此操作。 然后CustomerMapper
将 map 从DataTable
到Customer
,有效地桥接两个域表示。
它应该在 BL 或业务逻辑层中完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.