0
簡単な質問 - 次の違いは何ですか?Automapper ConfigurationExpression条件
この1作品:
CreateMap<OrderResult, OrderViewModel>()
.ForMember(x => x.SoldTo, opt => opt.Ignore())
.ForMember(x => x.ShipTo, opt => opt.Ignore())
.ForMember(x => x.ShowPlaceOrder, opt => opt.MapFrom(c => c.Messages.Count == 0));
私はこの1つは除いてほとんど同じことを行うことを期待する「Mapper.AssertConfigurationIsValidを();」これは "ShowPlaceOrder"がマップされていないと言って失敗します。
CreateMap<OrderResult, OrderViewModel>()
.ForMember(x => x.SoldTo, opt => opt.Ignore())
.ForMember(x => x.ShipTo, opt => opt.Ignore())
.ForMember(x => x.ShowPlaceOrder, opt => opt.Condition(c => c.Messages.Count == 0));
おかげ ジョー
opt.Condition()とopt.MapFrom()を一緒に使用してください。 – shatl
私はあなたがこれを行うとは思わない。ブール条件がある場合は、おそらくC#の?:演算子を使用してMapFromの一部として提供します。 – PatrickSteele
@shatl - あなたの質問に誤解しました。 MapFromとConditionの両方が必要な場合は、同じ宛先への2つのForMember呼び出しを作成します.1つはForMemberで、もう1つはConditionで作成します。順序は関係ありません。 – PatrickSteele