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

问题描述 投票:0回答:1

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

首先,我将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项目的一部分。

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

c# linq automapper automapper-6
1个回答
1
投票

它似乎在Automapper.QueryableExtensions中:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.