我有这个代码失败了:
internal class Program
{
private static void Main()
{
Mapper.CreateMap<SourceFoo, TargetFoo>();
Mapper.CreateMap<string, Stuff>()
.ForMember(dest => dest.Value, opt => opt.MapFrom(src => src))
.ForMember(dest => dest.IgnoreMe, opt => opt.Ignore());
var source = new SourceFoo
{
Stuff = "a",
Stuff2 = "a"
};
var target = new TargetFoo
{
Stuff = new Stuff(),
Stuff2 = new Stuff()
};
Mapper.Map(source, target);
Console.WriteLine(target.Stuff.Value);
Console.WriteLine(target.Stuff2.Value);
Console.ReadLine();
}
}
public class SourceFoo
{
public string Stuff { get; set; }
public string Stuff2 { get; set; }
}
public class TargetFoo
{
public Stuff Stuff { get; set; }
public Stuff Stuff2 { get; set; }
}
public class Stuff
{
public string Value { get; set; }
public bool IgnoreMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当Stuff/Stuff2具有相同的值时,我得到以下异常:
已添加具有相同键的项目.
如果他们有不同的价值观,一切正常 我使用AutoMapper 2.2.0.
我做错了什么或者它是一个错误?我该如何解决?
这是一个错误.
现在您可以安装2.1.267版.
NuGet包管理器控制台命令:
卸载 - 包AutoMapper -Force
安装包AutoMapper -Version 2.1.267
检查此链接:
https://github.com/AutoMapper/AutoMapper/issues/250
在里程碑:2.2.1问题#270
| 归档时间: |
|
| 查看次数: |
1038 次 |
| 最近记录: |