我有一件奇怪的事情發生在automapper上。AutoMapper IEnumerable映射錯誤
難道有人有線索,爲什麼這個代碼是爲InstitutionsImplantations場返回值:
var result1 = new List<DataModel.Implantations>();
foreach (var c in collection)
{
DataModel.Implantations i = Mapper.Map<DataModel.Implantations>(c);
result1.Add(i);
}
var item1 = result1.Where(x => x.Nom == "Valdor").FirstOrDefault();
Console.WriteLine(item1.InstitutionsImplantations);
雖然這一個(在相同的集合),用於InstitutionsImplantations返回null:
var result2 = Mapper.Map<IEnumerable<DataModel.Implantations>>(collection);
var item2 = result2.Where(x => x.Nom == "Valdor").FirstOrDefault();
Console.WriteLine(item2.InstitutionsImplantations);
事實: autommaper在IEnumerable上完成的映射對於列表中的+/- 300個項目是正確的,然後是某個項目集合具有「嚴重」映射的InstitutionsImplantations屬性。
InstitutionsImplantations屬性是來自EF結果的對象「代理」。
你知道爲什麼會發生這種情況嗎?
Tx you!
從來沒有見過類似的東西,但使用AutoMapper的「正常」方法是'collection.Select(c => Mapper.Map(c))''所以你不需要臃腫的'IEnumerable'映射。這種形式基本上與您的第一個片段相同。不回答當然的問題。知道這是否是一個bug會很有趣。 –