亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

忽略使用Automapper映射一個屬性

忽略使用Automapper映射一個屬性

C#
函數式編程 2019-11-25 14:40:28
我正在使用Automapper,并且有以下情況:類OrderModel具有一個名為'ProductName'的屬性,該屬性不在數據庫中。因此,當我嘗試使用以下方法進行映射時:Mapper.CreateMap<OrderModel, Orders>(); 它產生一個異常:“未映射Project.ViewModels.OrderModel上的以下1個屬性:'ProductName'我已經在AutoMapper的Wiki for Projections中閱讀了相反的情況(額外的屬性在目標上,而不是在源中,這實際上是我的情況)如何避免自動映射器對此屬性進行映射?
查看完整描述

3 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

我也許是個完美主義者。我不太喜歡ForMember(...,x => x.Ignore())語法。這是小事,但對我來說很重要。我寫了這個擴展方法,使它更好一點:


public static IMappingExpression<TSource, TDestination> Ignore<TSource, TDestination>(

    this IMappingExpression<TSource, TDestination> map,

    Expression<Func<TDestination, object>> selector)

{

    map.ForMember(selector, config => config.Ignore());

    return map;

}

可以這樣使用:


Mapper.CreateMap<JsonRecord, DatabaseRecord>()

        .Ignore(record => record.Field)

        .Ignore(record => record.AnotherField)

        .Ignore(record => record.Etc);

您也可以將其重寫為與配合使用params,但我不喜歡帶有大量lambda的方法的外觀。


查看完整回答
反對 回復 2019-11-25
  • 3 回答
  • 0 關注
  • 2208 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號