4

EntityFramework オブジェクトのコレクションをビュー モデルのコレクションにマップしようとしています。

 public class Channel
{
    public Guid Id { get; set; }

    public string Name { get; set; }

    public IEnumerable<Report> Reports { get; set; }
}

public class ChannelListViewModel
{
    public Guid Id { get; set; }

    public string Name { get; set; }

    public IEnumerable<Report> Reports { get; set; }
}

レポート リストの下のコードを使用すると、マップされません。私は何を間違っていますか?

 IList<ChannelListViewModel> viewModelList = channelList.Select(x => new ChannelListViewModel().InjectFrom(x)).Cast<ChannelListViewModel>().ToList();
4

2 に答える 2

3

いいえ、デフォルトではありません。カスタム インジェクターを使用する必要があります。これが、valueinjecter を試した後で automapper に戻した理由です。ValueInjector でリストをマップする方法

于 2012-03-14T21:53:11.923 に答える
1

それを行うオートマッパーシミュレーションがあります:

http://valueinjecter.codeplex.com/releases/view/60311#DownloadId=318259

ダウンロードして、コレクションがどのように自動的にマッピングされるかを確認できます

ここに記事があります: http://valueinjecter.codeplex.com/wikipage?title=Automapper%20Simulation&referringTitle=Home

そこに単体テストが表示されます

于 2012-03-15T17:46:23.037 に答える