オートマッパーで奇妙なことが起こっています。
このコードが 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);
これは(同じコレクション上で)、 InstitutionsImplants に対して null を返します。
var result2 = Mapper.Map<IEnumerable<DataModel.Implantations>>(collection);
var item2 = result2.Where(x => x.Nom == "Valdor").FirstOrDefault();
Console.WriteLine(item2.InstitutionsImplantations);
事実 : IEnumerable で autommaper によって行われたマッピングは、リスト内の +/- 最初の 300 項目に対して正しく、その後、いくつかの項目コレクションに「不適切に」マッピングされた InstitutionsImplantations プロパティがあります。
InstitutionsImplantations プロパティは、EF 結果からのオブジェクト "プロキシ" です。
なぜこれが起こっているのか分かりますか?
送信してください!