gpt4 book ai didi

c# - .Net Core 解决方案中每个项目的 Automapper 不同配置文件

转载 作者:行者123 更新时间:2023-12-05 03:00:40 26 4
gpt4 key购买 nike

我有一个具有以下结构的 .Net Core 2.1 解决方案

Infrastructure (automapper added here) << ApplicationCore (大部分逻辑服务都在这里) << MVC

Infrastructure(这里添加了automapper)<< ApplicationCore(大部分逻辑服务都在这里)<

(只是为了清楚 Infrastructure & ApplicationCore 类库项目只存在一次)

ApplicationCore、MVC 和 Web API 项目都有特定于它们的类/DTO/ View 模型。因此,在 MVC 和/或 API 项目的启动文件中使用单个配置文件可能有效,但会涉及一些重复。

同样为了测试,我想在没有 MVC 或 API 项目的情况下运行 ApplicationCore。

是否有一个很好的示例项目来展示如何为每个项目设置不同的配置文件?

最佳答案

我也有同样的问题。这是我的解决方案,

  1. 我在继承“配置文件”的应用程序核心库中创建了“MapperProfiles”

    public class MapperProfiles : Profile
    {
    public MapperProfiles()
    {
    CreateMap<YourModel, YourViewModel>();
    CreateMap<YourViewModel, YourModel>();
    }
    }
  2. 将 startup.cs 添加到以下行,

    services.AddAutoMapper(typeof(MapperProfiles));
  3. 现在 Controller 修改为,

    private readonly IMapper _mapper;

    public YourController(ApplicationDbContext context, IMapper mapper)
    {
    _context = context;
    _mapper = mapper;
    }
  4. 现在您可以在 Controller 中使用映射器了,

    YourModel model = _mapper.Map<YourModel >(YourViewModel);

关于c# - .Net Core 解决方案中每个项目的 Automapper 不同配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56626320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com