c# - 嵌套对象子类的自动映射器展平
问题描述
我正在尝试使用 AutoMapper 执行以下操作,但没有得到预期的结果。
我有以下配置:
public interface IFlatInterface
{
public string A {get; set;}
public string B {get; set;}
public string C {get; set;}
public bool D {get; set;}
}
public class ParentObject
{
public Data X {get; set;}
public Measure Y {get; set;}
}
public class Data
{
public string A {get; set;}
public string B {get; set;}
}
public class Measure
{
public string C {get; set;}
public bool D {get; set;}
}
我已经定义了以下映射规则
cfg.CreateMap<IFlatInterface, ParentObject>()
.ForMember(p => p.Measure, o => o.MapFrom(f => f))
.ForMember(p => p.Data, o => o.MapFrom(f => f))
cfg.CreateMap<ParentObject, IFlatInterface>()
.ForMember(i => i.A, o => o.MapFrom(p => p.X.A))
.ForMember(i => i.B, o => o.MapFrom(p => p.X.B))
.ForAllOtherMembers(o => o.MapFrom(p.Y))
问题是填充的值是所有剩余字段的字符串“p.Measure”。我想映射以递归方式发生在 Measure 的成员上。我不能制定一个广泛的规则,因为不同的类可以实现 IFlatInterface。
关于如何实现这一目标的任何想法?
谢谢
解决方案
推荐阅读
- javascript - 使用 jquery/javascript:如何在无法编辑 html 的情况下删除空格并保持中断
- python - Why my code always told the NotImplementedError?
- python - AllenNLP Reading Comprehension results are different in UI Demo and Python Library
- c - File transfer successful but won't exit while loop in C
- java - Protected class in java
- makefile - gdb compile issue yyin and lexer_init
- python - How would I manage to create this CLI python interface (it's pretty complex)
- google-api - NextPageToken gives invalid input error, 400 - Google Directory API ChomeDevices
- node.js - how can I get form data from react to node.js?
- python - Django Randomly Select List Item to Display In Template