小编key*_*cad的帖子

避免构造函数映射字段

我正在使用带有.NET Core 2.0的AutoMapper 6.2.2及其默认的依赖注入机制来映射模型和DTO.我需要在我的AutoMapper配置中使用DI,因为我必须执行AfterMap<Action>需要一些注入的组件.

问题是,对于某些具有参数匹配某些源成员的构造函数的模型,当我为AutoMapper(add services.AddAutoMapper())启用DI时,这些构造函数默认调用并提供数据,然后使用EF中断我的操作.

public class UserDTO
{
    public string Name { get; set; }

    public string Email { get; set; }

    public ICollection<RoleDTO> Roles { get; set; }
}


public class User
{
    public string Name { get; set; }

    public string Email { get; set; }

    public ICollection<RoleInUser> RoleInUsers { get; } = new List<RoleInUser>();

    public ICollection<Role> Roles { get; }

    public User()
    {
        Roles = new JoinCollectionFacade<Role, User, RoleInUser>(this, RoleInUsers);
    }

    public …
Run Code Online (Sandbox Code Playgroud)

c# automapper .net-core

6
推荐指数
1
解决办法
379
查看次数

标签 统计

.net-core ×1

automapper ×1

c# ×1