こんにちは私はAuto Mapを使用して動作しない条件付きエンティティをマップしますが、After Mapではうまく動作しません。使用するt。 Domain.PermanentPlacementからInvoiceLineCreditHeaderを条件付きでマップしたいと思います。使用しないと動作しない条件付きエンティティをマップする自動マッパー
以下はマッピングコードです。
MauritiusMapper.CreateMap<Domain.PermanentPlacement, InvoiceLineCreditHeader>()
.ForMember(desc => desc.ApplicantName, o => o.MapFrom(source => source.Candidate.FullName))
.ForMember(desc => desc.DatePlaced, o => o.MapFrom(source => source.PlacementDate))
.ForMember(desc => desc.ApproveDate, o => o.MapFrom(source => source.LastAuditItem.DateOfAction))
.ForMember(desc => desc.CheckedBy, o => o.MapFrom(source => source.StartCheckedBy))
.ForMember(desc => desc.Job, o => o.MapFrom(source => source.JobTitle));
MauritiusMapper.CreateMap<InvoiceLineCreditSearchResult, InvoiceLineCreditData>()
.ForMember(d => d.InvoiceLineCredits, o => o.MapFrom(s => s.Credits))
.ForMember(d => d.InvoiceLineCreditHeader, o => o.MapFrom(s => s.InvoiceLine))
.ForMember(d => d.CreditReasons, o => o.MapFrom(s => s.CreditReasons))
.ForMember(d => d.CreditStatuses, o => o.MapFrom(s => s.CreditStatuses))
.ForMember(d => d.InvoiceLineCreditHeader, o => o.MapFrom(s => s.InvoiceLine.TransactionLines.OfType<PermanentPlacementTransactionLine>().FirstOrDefault()?.PermanentPlacement ?? s.ReissuePermanentPlacement))
このギブエラー
式ツリーラムダはヌル伝搬演算子を含めることはできません。私はAftermapを使用している場合、それは正常に動作しますWhy can't I use the null propagation operator in lambda expressions?
によって説明される
。
自動マッパーでは何もありませんか?私はAfterMapを使用しないとこれを達成できますか?条件もありますが、linq式も使用しています。
アイデア?