1
似乎可以忽略源中可以爲空的類型屬性,並且不會將其複製到目標。使用automapper更新目標對象並將可爲空的類型屬性值設置爲空
考慮這些類:
public class Source
{
public int? Test { get; set; }
}
public class Destination
{
public int? Test { get; set; }
}
映射:
Mapper.CreateMap<Source, Destination>();
var source = new Source() { Test = 1 };
var destination = new Destination();
Mapper.Map<Source, Destination>(source, destination);
Assert.AreEqual(source.Test, destination.Test); //true
source.Test = null;
Mapper.Map<Source, Destination>(source, destination);
Assert.AreEqual(source.Test, destination.Test); //false (null, 1)
,當我用它的工作:
Mapper.CreateMap<Source, Destination>()
.ForMember(m => m.Test, o => o.ResolveUsing(m => m.Test));
但我不想要設置每個屬性,可以你設置全球?或者還有其他方法可以實現嗎?
謝謝。這解決了我的問題。這看起來像一個automapper錯誤,但我。 – RPM1984