我正在使用带有.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)