将List <someobject>自动映射到具有List <someobject> </someobject> </someobject>属性的类

时间:2014-07-21 20:45:08

标签: c# asp.net-mvc entity-framework automapper

好的我有一个名为SearchResults的视图,显示用户搜索的结果。所以我有一个名为SearchResultsView的视图模型。 SearchResultsView有一个从服务获取的属性List。所以我想使用automapper用List填充SearchResultsView类。我可以更改服务以返回一个SearchResults类,该类也有一个带List的属性,但在这种情况下,我宁愿配置AutoMapper来获取它从服务获取的List作为源并将其映射到SearchResultsView属性。

public class SearchResultsView
{
    public List<SearchResult> Results { get; set; }
}

public class SearchResult
{
    public string Name { get; set; }
    public string MacAddress { get; set; }
    public string PhoneNumber { get; set; }
    public List<string> URIs { get; set; }
}

Mapper.CreateMap<List<SearchResult>, SearchResultsView>();

1 个答案:

答案 0 :(得分:0)

您可以使用.ConstructUsing

快速完成此操作
Mapper.CreateMap<List<SearchResult>, SearchResultsView>()
    .ConstructUsing(src => new SearchResultsView { Results = src });

但是,如果您只是使用AutoMapper,我可能只会直接指定您在评论中提到的Results