如何使用linq语法触发AutoMapper映射模型?

时间:2018-03-02 18:11:47

标签: c# linq automapper automapper-6

我正在尝试使用AutoMapper 6.3来允许我将模型自动映射到视图模型中。

首先,我将df.groupby('ID').filter(lambda x : (x['Accepted']=='No').all()) Out[1017]: ID Company Accepted 3 2 B No 4 2 C No 9 4 A No 10 4 C No 个实例注册到我的AutoMapper,就像这样

IUnitContainer

现在,在我的控制器中,我想从数据库中提取模型,然后我想将其映射/投射到我的视图模型。

我尝试了以下

var mapper = new MapperConfiguration(cfg =>
{
    cfg.AddProfile<AutoMapperProfile>();
});

container.RegisterInstance<IMapper>(mapper.CreateMapper()); 

但我似乎无法找到var task = UnitOfWork.Tasks.Get(123) .ProjectTo<TaskViewModel>(); 扩展名,我认为它将成为ProjectTo项目的一部分。

如果我的AutoMapper已经创建了映射,那么投影viewModel的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

似乎是在Automapper.QueryableExtensions中:

https://github.com/AutoMapper/AutoMapper/blob/8dd104aa7390c12c97c4195cce6f6ff66de24f51/src/AutoMapper/QueryableExtensions/Extensions.cs

只要linq更改中的上一项似乎是IQueryable,就可以调用它。