从数据对象转换为业务对象。最佳做法
|
假设DataLayer中有一个UserEntity,需要将其转换为BusinessLayer中的User。这两种类型之间没有1:1的映射,并且继承不是一种选择。
我想将User转换为UserEntity,反之亦然。最好的方法是什么?我看到了一些模式,但我不知道哪个更好,为什么:
在用户2中实施方法:从实体和ToEntity
实现TypeConverter
重载=运算符
没有找到相关结果
已邀请:
1 个回复
旗低饶彤
类,您可以在其中实现
/
方法。 并确保使用AutoMapper将代码量减至最少。 AutoMapper使用流畅的配置 定义对象-对象映射的API 战略。 AutoMapper使用 基于约定的匹配算法 将源与目标值匹配。 目前,AutoMapper已做好准备 对模型投影方案 将复杂对象模型展平到DTO 和其他简单的对象,其设计 更适合序列化, 通讯,消息传递,或者仅仅是 之间的反腐败层 域和应用程序层。 更新: 您可以将这些方法添加到
类中,这对于一个小型项目可能就足够了。在设计方面,我有点纯粹,可以将适配器逻辑放在这些类之外。为什么
类是从属的并且对
类有任何了解?我把它们绑在一起有点气味。单独的适配器层更具前瞻性。例如,如果您必须将数据库层替换为另一层(即,从Linq2SQL迁移到EntityFramework或Dapper),那么您要做的就是创建新的适配器-您的业务类将保持不变。