[英]Map complex type to anonymous object
Dto
)。int SubDto2ToInt(SubDto2 sub)
, string GuidToString(Guid gd)
)。有什么方法,怎么配置Automapper,告诉他:
“使用这些提供的类型转换器映射 CT 并创建匿名类型的 object。” ?
这将有效地:
当我预先创建匿名类型时,我取得了部分成功,但这没有多大意义,因为我可以创建“正常”目标类型并定义经典映射。 所以重点是让Automapper自己创建目标类型。 然后目标成员类型将由源类型或转换结果类型(如果已注册)驱动。
例子:
class SubDto1 { int M1; int M2; } // Pretend they are get/set properties
class SubDto2 { int N1; int N2; } // dtto
class Dto { SubDto1 Sub1; SubDto2 Sub2; Guid Id; } // dtto
var source = new Dto { Sub1 = new SubDto1 {M1 = 1, M2 = 2}, Sub2 = new SubDto2 {N1 = 10, N2 = 20}, Id = Guid.NewGuid()};
var expectedTargetEquivalentTo = new
{
Sub1 = new {M1 = 1, M1 = 2}, // No conversion registered here, "as is"
Sub2 = 30, // Fancy SubDto2 -> int conversion registered here
Id = "00000000-0000-0000-0000-000000000000", // Guid -> string conversion registered here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.