第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

AutoMapper:“忽略其余的”?

AutoMapper:“忽略其余的”?

慕哥9229398 2019-07-25 20:04:11
AutoMapper:“忽略其余的”?有沒(méi)有辦法告訴AutoMapper忽略除明確映射的屬性之外的所有屬性?我有外部DTO類可能會(huì)從外部更改,我想避免指定要顯式忽略的每個(gè)屬性,因?yàn)樘砑有聦傩詴?huì)在嘗試將它們映射到我自己的對(duì)象時(shí)破壞功能(導(dǎo)致異常)。
查看完整描述

3 回答

?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊

我已經(jīng)更新了Can Gencer的擴(kuò)展,不會(huì)覆蓋任何現(xiàn)有的地圖。

public static IMappingExpression<TSource, TDestination> 
    IgnoreAllNonExisting<TSource, TDestination>(this IMappingExpression<TSource, TDestination> expression){
    var sourceType = typeof (TSource);
    var destinationType = typeof (TDestination);
    var existingMaps = Mapper.GetAllTypeMaps().First(x => x.SourceType.Equals(sourceType) && x.DestinationType.Equals(destinationType));
    foreach (var property in existingMaps.GetUnmappedPropertyNames())
    {
        expression.ForMember(property, opt => opt.Ignore());
    }
    return expression;}

用法:

Mapper.CreateMap<SourceType, DestinationType>()
                .ForMember(prop => x.Property, opt => opt.MapFrom(src => src.OtherProperty))
                .IgnoreAllNonExisting();


查看完整回答
反對(duì) 回復(fù) 2019-07-25
?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊

根據(jù)我的理解,問(wèn)題是目標(biāo)上的字段在源中沒(méi)有映射字段,這就是為什么要尋找忽略那些非映射目標(biāo)字段的方法。

您可以簡(jiǎn)單地使用,而不是實(shí)現(xiàn)和使用這些擴(kuò)展方法

Mapper.CreateMap<destinationModel, sourceModel>(MemberList.Source);

現(xiàn)在,automapper知道它只需要驗(yàn)證所有源字段是否已映射,而不是相反。

您還可以使用:

Mapper.CreateMap<destinationModel, sourceModel>(MemberList.Destination);


查看完整回答
反對(duì) 回復(fù) 2019-07-25
  • 3 回答
  • 0 關(guān)注
  • 1705 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)