[英]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
設置時,這似乎不起作用。 SourceMemberNameTransformer
或RecognizePostfix
在Profile
不起作用。 但是,在Automapper全局配置中指定它可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.