Facet 是一个 C# 源代码生成器,可以消除 DTO 套用程序。声明你想要的内容,然后 Facet 会在编译时生成类型、构造函数、LINQ 投影和反向映射,而不会产生任何运行时开销。
:clipboard: 文档
代码生成
- 将 DTO 生成为类、记录、结构或记录结构
- 构造器、静态工厂和 LINQ 投影表达式均可生成
- 将嵌套对象和集合自动映射到代码中
- 保留 XML 文档和数据验证属性
映射与自定义
- 同步和异步自定义映射配置(静态或 DI 解析实例)
- 自定义反向映射配置,以映射回源文件
- 使用简单属性参数包含/排除属性
- 全局配置 - 通过 MSBuild 属性在整个项目中覆盖默认属性设置(文档)
- [MapFrom] - 使用可选反向映射和表达式支持的声明性属性重命名
- [MapWhen] - 基于运行时值的条件映射