【发布时间】:2021-01-23 19:15:26
【问题描述】:
我正在尝试使用 Dapper 映射到我的 DTO:
public class MyDto
{
public int Id { get; set; }
public string Code { get; set; }
public IDictionary<string, object> AdditionalColumns { get; set; }
}
我可以让MyDto 的实例根据约定填充前两个属性,但我不确定如何告诉 Dapper 将所有剩余的列映射到字典中。
connection.Query<MyDto>("Get_Something", commandType: CommandType.StoredProcedure, param: parameters);
存储过程返回以下内容:
Id: INT
Code: VARCHAR(32)
Foo: VARCHAR(16)
Bar: DATETIME
【问题讨论】:
-
Multimap 与
splitOn: "Foo"然后自己映射到lambda? 编辑并不是说你应该知道这一点 -
@Charlieface:这是一个很大的模糊,即使对我来说也是如此,而且我对 Dapper 的动态和静态模式都有经验。
-
@RobertHarvey 我知道,这只是对有时间写完整答案的人的评论。请参阅stackoverflow.com/questions/7472088/… 了解更多信息
-
啊,是的。多重映射。忘记了。
-
问题是任何解决方案都必须同时考虑静态和动态方面。 id 和 string 可能必须手动映射,而不是依赖 Dapper 的反射。
标签: c# .net-core mapping dapper dto