我正在使用orderProperties变量作为动态linq,我需要在OrderBy子句中使用AutoMapper。我需要将Resource类中的“MyColumn”属性映射到ResourceViewModel类的其他属性。 Query()返回Resource的IQuerable。例如,我在Resouce类MyColumn属性中,我需要将它映射到MyOtherColumn,它位于ResourceViewModel中。 任何想法如何做到这一点?
string orderProperties = "MyColumn Ascending";
var orderList = _resourceRepository.Query()
.OrderBy(orderProperties)
.Select(Mapper.Map<Resource, ResourceViewModel>);
答案 0 :(得分:1)
我会尝试另一种方法:
排序应完全独立于automapper。 Autommapper仅“翻译”这些内容。
类似的东西:
string orderProperties = "MyColumn Ascending";
var orderList = _resourceRepository.Query()
.OrderBy(orderProperties)
.ToList();
Mapper.CreateMap<IList<Resource>, IList<ResourceViewModel>>();
var results = Mapper.Map<IList<Resource>>(orderList);
HTH