簡體   English   中英

AutoMapper:設置成員名稱匹配約定

[英]AutoMapper: setup member name matching convention

我嘗試設置成員名稱映射約定,以便將以“ Id”結尾的源成員映射到不帶ID的目標成員。 例如

UserId->用戶

如何做到這一點? 我嘗試使用SourceMemberNameTransformer失敗。 還嘗試使用RecognizePostfixes()。

    this.SourceMemberNameTransformer = s =>
                                      {     
                                          return s.Replace("Id", string.Empty);
                                      };

您還可以使用“ RecognizePostfixes”方法:

this.RecognizePostfixes("Id");

內置變壓器就是這樣,僅供以后參考:

s => Regex.Replace(s, "(?:^Get)?(.*)", "$1");

這應該工作:

 this.SourceMemberNameTransformer = s => { if (s.EndsWith("Id")) return s.Substring(0, s.Length - 2); return s; }; 

您也可以嘗試使用DestinationMemberNamingConvention和regex實現。

截至目前,在“ Profile設置時,這似乎不起作用。 SourceMemberNameTransformerRecognizePostfixProfile不起作用。 但是,在Automapper全局配置中指定它可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM