私はJimmy Bogard's advice for automapping through an actionfilter(ほとんどの場合にうまくいく)に従おうとしています。しかし、マップする必要があるコレクションプロパティを持つカスタムビューモデルを持っていたらどうなりますか?例えば、IEnumerable <T>のプロパティを持つViewModelにオートマッテを使用する方法
public class WidgetSearchViewModel
{
public WidgetSearchOptionsViewModel Options { get; set; }
public GenericListPagerViewModel Pager { get; set; }
public IEnumerable<WidgetSearchResultModel> Results { get; set; }
}
結果プロパティは、私がautomapperを使用してWidgetSearchResultModelインスタンスに変換したいドメインエンティティのIEnumerableを、などのリポジトリから来ています。問題は、オプションとポケベルのプロパティを設定するためにコントローラにWidgetSearchViewModelを構築する必要があることです。 AutoMapper ActionFilterを使用してResultsプロパティOnActionExecutedを設定するにはどうすればよいですか?それは可能でしょうか、あるいはMapper.Mapコールをコントローラに入れ、ユニットテストのすべてのマッピングをブートストラップする必要がありますか?
また、ユニットテストは)(Mapper.AssertConfigurationIsValidを呼び出すことができます。あなたの設定をテストすることができます。 – CRice
ありがとうございました。私の質問にWidgetSearchViewModelクラスの例と同等のドメイン/エンティティがない場合、どうすれば私のコントローラコードを書くことができますか?コントローラーは、オプションとポケットベルのプロパティーに値を設定する必要があります。このプロパティーには、同等のエンティティーはありません。 IEnumerable Resultsプロパティを持つ一致するDTOクラスを作成し、それをコントローラに入力してAutomapperを変換する必要がありますか?または、このようなシナリオのためにコントローラにマッピングを残す方がよいでしょうか?どうしますか? –
danludwig