我正在寻找通过Automapper实现以下结果所需的配置:
public class User {
public string Id { get; set; }
publlis string Login { get; set; }
}
public class Entity {
public string Id { get; set; }
public IDictionary<string,object> Data { get; set; }
}
var data = new List<IDictionary<string,object>>()
{
new Dictionary<string,object> { { "user_id","foo" },{ "user_login","login" },{ "emp_id","bar" },{ "emp_fizz","value1" },{ "emp_buzz","value2" }}
};
var result = mapper.Map<IList<(User Item1,Entity Item2)>>(data);
result[0].Item1.Id.Should().Be("foo");
result[0].Item1.Login.Should().Be("login");
result[0].Item2.Id.Should().Be("bar");
result[0].Item2.Data["fizz"].Should().Be("value1");
result[0].Item2.Data["buzz"].Should().Be("value2");
请注意:
- 源属性在源数据中添加前缀,以使 两个目标对象之间的差异
- 来源与目的地之间的情况不同 属性(删除前缀后)。例如。 “ id”与“ Id”,或 “登录”与“登录”
- 某些值必须输入到实体目标的字典(数据)中 对象和其他一些对象必须提供常规属性(例如,Id)
是否可以为此目的配置Automapper? 如果是的话,关于配置的任何线索都应该受到赞赏。