【问题标题】:Mapster and BlazorMapster 和 Blazor
【发布时间】:2023-04-05 07:18:01
【问题描述】:

我想在我的 Blazor 项目中插入和使用 Mapster。 关于如何注册映射并将它们注入应用程序的不同层,我找不到很好的参考。

有谁知道我该如何实现?

谢谢

【问题讨论】:

    标签: blazor blazor-server-side mapster


    【解决方案1】:

    原来很简单。

    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);
    ...
    

    这很好用,欢迎任何想法/改进!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      • 2021-08-14
      • 2020-07-08
      • 1970-01-01
      相关资源
      最近更新 更多