c# - 是否有任何框架或实用程序(在 .NET 空间中)用于从业务对象自动生成数据传输对象

标签 c# reflection code-generation data-transfer-objects

我正在寻找使用一组约定(例如所有公共(public)属性)从业务对象(类型定义,而不是映射数据)生成数据传输对象的最佳方法,并且可能可配置以确定传输的深度.

我意识到,对于许多 dto 与业务对象不相似的情况(例如将多个业务对象扁平化为单个数据传输对象时),这可能是不可能的,甚至是不可取的。

但是,就我而言,我的大部分数据传输对象与其业务对象非常相似(尤其是对于用于更新数据的 DTO)。

我想知道是否有任何现有的代码生成工具(我正在寻找具有现有模板的特定解决方案,而不仅仅是像 CodeSmith 这样的通用代码生成工具)或动态程序集创建工具(例如在盖子)?或者,如果这是您之前做过的事情,我很想听听您使用什么技术来帮助我在各种选项之间做出决定。

最佳答案

您可能会发现 AutoMapper 非常有用:http://www.codeplex.com/AutoMapper

编辑,回应 OP 评论:

T4 模板包含在 Visual Studio 中用于代码生成。这是一篇关于使用 T4 生成实体到 DTO 代码的帖子:

http://weblogs.asp.net/cibrax/archive/2009/03/11/code-generation-with-t4-an-entities-to-dto-example.aspx

关于c# - 是否有任何框架或实用程序(在 .NET 空间中)用于从业务对象自动生成数据传输对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2414312/

相关文章:

c# - 正则表达式匹配方括号内括号内的数字和可选文本

json - 处理不同类型的请求正文

java - Reflection Method.getParameterTypes() - 对象参数数组

c++ - MATLAB C++ 代码生成

scala - Slick:Codegen 外键引用

java - 通过在 Maven 中运行项目的 java 类来生成源代码

c# - 在 C# 应用程序中使用 MsgPack 自定义序列化程序

使用二进制文件的 C# Winforms 登录表单

c# - 为 MVC 生成 Resx 文件

c# - 如何设置局部变量memberExpression值