You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dapper中使用C# records?能否无需默认构造函数?

Dapper对C# Records的支持情况

从Dapper 2.0版本开始,已经原生支持C#的record类型,完全不需要额外添加默认构造函数,你可以直接用这种简洁的方式定义DTO:

public record MyDto(string Id, string SomethingElse);

具体支持细节:

  • Dapper会自动匹配record的位置/命名参数与查询结果的列名,无需额外配置映射关系
  • 不管是你示例里的 positional record,还是带属性定义的record,都能正常完成数据映射
  • 使用方式和普通类DTO完全一致,直接在查询方法中指定record类型即可

示例查询代码:

var result = connection.Query<MyDto>("SELECT Id, SomethingElse FROM MyTable WHERE Id = @Id", new { Id = "123" });

内容的提问来源于stack exchange,提问作者Tomas Jansson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:01:55