Nan*_*nek 14 automapper asp.net-mvc-3
在映射源和目标之后,AutoMapper是否可以调用方法?
我的ViewModel看起来像这样:
public class ShowCategoriesViewModel
{
public int category_id { get; set; }
public string category_name { get; set; }
public List<MvcApplication3.Models.Category> SubCategories { get; set; }
public void Sort()
{
SubCategories.Sort(new CompareCategory());
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器看起来像这样:
public ActionResult Index()
{
var category = db.Category.Where(y => y.parrent_id == null).ToList();
Mapper.CreateMap<Category, ShowCategoriesViewModel>().
ForMember(dest => dest.SubCategories, opt => opt.MapFrom(origin => origin.Category1));
List<ShowCategoriesViewModel> scvm = Mapper.Map<List<Category>, List<ShowCategoriesViewModel>>(category);
foreach (ShowCategoriesViewModel model in scvm)
{
model.Sort();
}
return View(scvm);
}
Run Code Online (Sandbox Code Playgroud)
我想让AutoMapper调用Sort()方法,而不是做一个foreach循环.这可能吗?
Dav*_*Fox 20
我想你可以在这里使用.AfterMap
Mapper.CreateMap<Category, ShowCategoriesViewModel>()
.ForMember(dest => dest.SubCategories, opt => opt.MapFrom(origin => origin.Category1))
.AfterMap((c,s) => s.Sort());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8668 次 |
| 最近记录: |