1

「Id」で終わるソースメンバーがIdなしの宛先メンバーにマップされるように、メンバー名マッピング規則を設定してみました。例えば

UserId->ユーザー

どのようにこれを行うのですか?SourceMemberNameTransformerを使用してみましたが成功しませんでした。また、RecognizePostfixes()を使用してみました。

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

3 に答える 3

1

「RecognizePostfixes」メソッドを使用することもできます。

this.RecognizePostfixes("Id");

内蔵の変圧器は、将来の参考のためにこれです:

s => Regex.Replace(s, "(?:^Get)?(.*)", "$1");
于 2010-02-18T17:37:32.027 に答える
0

これは機能するはずです:

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

DestinationMemberNamingConventionと正規表現を使用してそれを達成することもできます。

于 2010-02-15T20:12:33.010 に答える
0

現在のところ、これをに設定すると機能しないようですProfile。どちらでもないSourceMemberNameTransformerか、RecognizePostfixで動作しProfileます。ただし、Automapperグローバル構成で指定されている場合は正常に機能します。

于 2010-02-25T19:46:46.680 に答える