我使用Automapper將值從一個實例複製到另一個實例,並且我發現如果該類具有數組屬性,並且源實例具有該屬性設置爲null
,Automapper將目標屬性設置爲零長度數組而不是null
,正如我所料。Automapper將數組屬性設置爲零長度數組而不是null
當源代碼爲null
時,有沒有辦法配置Automapper將目標設置爲null
?
如果我的解釋是不清楚的,下面的代碼說明了什麼,我試圖描述:
public class Test
{
public byte[] ByteArray { get; set; }
public int? NullableInt { get; set; }
public int Int { get; set; }
}
class Program
{
static void Main(string[] args)
{
Mapper.CreateMap<Test, Test>();
var test1 = new Test { Int = 123, NullableInt = null, ByteArray = null };
var test2 = Mapper.Map<Test>(test1);
// test1: Int == 123, NullableInt == null, ByteArray == null
// test2: Int == 123, NullableInt == null, ByteArray == byte[0] <-- expect this to be null
}
}
感謝您的更新! – hB0
它似乎並沒有在全球範圍內發揮作用。 – DonO