我正在寻找使用一组约定(例如所有公共(public)属性)从业务对象(类型定义,而不是映射数据)生成数据传输对象的最佳方法,并且可能可配置以确定传输的深度.
我意识到,对于许多 dto 与业务对象不相似的情况(例如将多个业务对象扁平化为单个数据传输对象时),这可能是不可能的,甚至是不可取的。
但是,就我而言,我的大部分数据传输对象与其业务对象非常相似(尤其是对于用于更新数据的 DTO)。
我想知道是否有任何现有的代码生成工具(我正在寻找具有现有模板的特定解决方案,而不仅仅是像 CodeSmith 这样的通用代码生成工具)或动态程序集创建工具(例如在盖子)?或者,如果这是您之前做过的事情,我很想听听您使用什么技术来帮助我在各种选项之间做出决定。
最佳答案
您可能会发现 AutoMapper 非常有用:http://www.codeplex.com/AutoMapper
编辑,回应 OP 评论:
T4 模板包含在 Visual Studio 中用于代码生成。这是一篇关于使用 T4 生成实体到 DTO 代码的帖子:
关于c# - 是否有任何框架或实用程序(在 .NET 空间中)用于从业务对象自动生成数据传输对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2414312/