【发布时间】:2023-04-05 07:18:01
【问题描述】:
我想在我的 Blazor 项目中插入和使用 Mapster。 关于如何注册映射并将它们注入应用程序的不同层,我找不到很好的参考。
有谁知道我该如何实现?
谢谢
【问题讨论】:
标签: blazor blazor-server-side mapster
我想在我的 Blazor 项目中插入和使用 Mapster。 关于如何注册映射并将它们注入应用程序的不同层,我找不到很好的参考。
有谁知道我该如何实现?
谢谢
【问题讨论】:
标签: blazor blazor-server-side mapster
原来很简单。
Mapster 暴露了 IMapper 接口,可以用来注册配置,类似如下:
在 Startup.cs 中
var config = new TypeAdapterConfig();
config.NewConfig<ModelA, ModelB>()
.Map(d => d.PropertyB, s => s.PropertyA);
var mapperConfig = new Mapper(config);
services.AddSingleton<IMapper>(mapperConfig);
现在您只需在服务中注入 IMapper 接口并使用它,例如:
public MyService(IMapper mapper)
{
this.mapper = mapper;
}
...
var modelB = modelA.Adapt<ModelB>(mapper.Config);
...
这很好用,欢迎任何想法/改进!
【讨论】: