.NET轻量对象映射器
各维度得分依据公开资料与字段推算,加权后即综合评分,仅供参考。
ExpressMapper 是一个轻量级 .NET mapper,核心用途是在领域模型、数据实体、DTO、ViewModel 或 data contract 之间做对象转换。它完全依赖 expression trees,目标是减少手写属性赋值样板代码。典型用法是在应用启动时注册 Mapper.Register<Source, Destination>(),之后通过 MapTo 或 Mapper.Map 在业务代码中复用。
从正文看,ExpressMapper 的功能较完整:支持同名同类型属性自动映射,也支持 Member 处理属性名不同或类型转换,Function 承载复杂业务规则,Ignore 忽略目标成员,Value 写入常量。它还支持 Before/After 前后置处理、Instantiate 自定义目标对象构造、自定义类型映射 ICustomTypeMapper、映射到已有目标实例、非泛型对象映射、深拷贝、动态映射、枚举映射、字段映射与大小写敏感配置。集合方面覆盖 IEnumerable、ICollection、IList、IQueryable、数组以及嵌套集合;若要真正面向 LINQ Provider 的 IQueryable,需要使用 .Project<Source, Destination>(),但该模式对 Function、自定义 Member 方法、Before/After、Instantiate、自定义 mapper 等有不少限制。
正文明确写到 Open source,但未给出许可证、NuGet 安装方式、商业版或付费支持信息,因此只能判断为开源免费库。生态上,它明显面向 .NET/C#,示例包含 ASP.NET Application_Start、DbContext、IQueryable。页面还提供与 AutoMapper、Mapster、OoMapper、TinyMapper、ValueInjecter 的基准测试对比,并提到可从 GitHub 下载 benchmarks solution、通过 GitHub issue 或邮箱反馈。
优点是 API 简洁、注册式使用成本低,功能覆盖常见及较复杂的 DTO 映射场景;预编译、缓存重置和集合预编译也说明其关注性能。缺点是正文更像单页教程,虽然代码示例很多,但缺少安装、版本兼容、许可证、维护频率和支持 SLA 等工程选型关键信息;IQueryable 投影模式也不是所有高级映射能力都可用。
它适合维护传统或中大型 .NET 后端、需要大量实体到 DTO/ViewModel 转换的团队,尤其是希望用较少配置替代手写 mapping 的 C# 开发者。若项目已深度使用 AutoMapper 或 Mapster,迁移前应重点验证功能等价性、性能和维护状态。中国访问情况正文未提供,域名与 GitHub 资源是否稳定不可判断;支付问题基本不涉及。替代品可考虑 AutoMapper、Mapster、ValueInjecter 等。
本测评基于公开资料整理,不构成购买建议,请以 expressmapper.org 官网实际信息为准。
开源.NET Mapper,有教程、基准和NuGet入口。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。