我想在我的 Blazor 项目中插入和使用 Mapster。我找不到关于如何注册映射并将它们注入我的应用程序的不同层的良好参考。
有谁知道我该如何实现?
谢谢
我想在我的 Blazor 项目中插入和使用 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);
...
这非常有效,欢迎任何想法/改进!