0

我使用 orderProperties 变量作为动态 linq,我需要在 OrderBy 子句中使用 AutoMapper。我需要将“MyColumn”属性从 Resource 类映射到 ResourceViewModel 类的其他属性。Query() 返回资源的 IQuerable。例如,我在 Resouce 类中具有 MyColumn 属性,我需要将其映射到位于 ResourceViewModel 中的 MyOtherColumn。任何想法如何做到这一点?

string orderProperties = "MyColumn Ascending";

var orderList = _resourceRepository.Query()
                                   .OrderBy(orderProperties)
                                   .Select(Mapper.Map<Resource, ResourceViewModel>);
4

1 回答 1

1

我会尝试另一种方法:

  • 将我的查询结果存储在一个变量中
  • 然后使用自动映射器翻译该结果集。

排序应该完全独立于自动映射器。 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);

高温高压

于 2013-04-05T15:03:29.927 回答