2016-04-26 8 views
1

は、私はあなたがこのAfterMapのAutoMapperコンテキスト値?

Mapper.CreateMap<Source, Dest>() 
    .ForMember(d => d.Foo, opt => opt.ResolveUsing(res => res.Context.Options.Items["Foo"]) 

Mapper.Map<Source, Dest>(src, opt => opt.Items["Foo"] = "Bar"); 

行うことができます知っているが、どのように)(AfterMapでコンテキストデータにアクセスできますか?

+0

コンテキストデータはどういう意味ですか?あなたは例を挙げることができますか? – Fka

+0

私のサンプルコードを見て、私は辞書の文脈上のデータで "オプション"を渡すことができます - >アイテム["Foo"] = someValue、これは私が変換時にコンテキストデータを渡すことを可能にします – Aviel

答えて

1

今はできません。しかしそれは簡単な修正です.GitHubの問題を開いて、それを(BeforeMapとAfterMapのために)追加します。

+0

これは今まで実装されていますか?これは、複数のバージョンのクライアントをサポートするために非常に便利です。つまり、マッピング後に返されるデータの形を変更したい場合があるリクエスト固有の "ClientVersion"を渡す必要がある場合です。 MVCコントローラは、このリクエスト固有のデータをマッパーに渡す必要があります。マッパーは、リクエスト固有のデータ/ヘッダー/その他を認識しません。 – Marchy

+0

これを実装していただきありがとうございます(v6.1でテスト済み)。 AutoMapperは素晴らしいです! =) – Marchy