如何触发 AutoMapper 使用 linq 语法映射模型?
How to trigger AutoMapper to map a model using linq syntax?
我正在尝试使用 AutoMapper 6.3 来允许我将我的模型自动映射到视图模型中。
首先,我像这样将 AutoMapper
实例注册到 IUnitContainer
var mapper = new MapperConfiguration(cfg =>
{
cfg.AddProfile<AutoMapperProfile>();
});
container.RegisterInstance<IMapper>(mapper.CreateMapper());
现在,在我的控制器中,我想从数据库中提取一个模型,然后我想 map/cast 它到我的视图模型。
我尝试执行以下操作
var task = UnitOfWork.Tasks.Get(123)
.ProjectTo<TaskViewModel>();
但我似乎找不到 ProjectTo
扩展,我认为它将成为 AutoMapper
项目的一部分。
如果我的 AutoMapperProfile
已经创建了映射,投影 viewModel 的正确方法是什么?
好像在Automapper.QueryableExtensions:
只要您的 linq 更改中的前一项看起来是 IQueryable,您就可以调用它。
我正在尝试使用 AutoMapper 6.3 来允许我将我的模型自动映射到视图模型中。
首先,我像这样将 AutoMapper
实例注册到 IUnitContainer
var mapper = new MapperConfiguration(cfg =>
{
cfg.AddProfile<AutoMapperProfile>();
});
container.RegisterInstance<IMapper>(mapper.CreateMapper());
现在,在我的控制器中,我想从数据库中提取一个模型,然后我想 map/cast 它到我的视图模型。
我尝试执行以下操作
var task = UnitOfWork.Tasks.Get(123)
.ProjectTo<TaskViewModel>();
但我似乎找不到 ProjectTo
扩展,我认为它将成为 AutoMapper
项目的一部分。
如果我的 AutoMapperProfile
已经创建了映射,投影 viewModel 的正确方法是什么?
好像在Automapper.QueryableExtensions:
只要您的 linq 更改中的前一项看起来是 IQueryable,您就可以调用它。