有没有办法告诉AutoMapper忽略除明确映射的属性之外的所有属性?
我有外部DTO类可能会从外部更改,我想避免指定要显式忽略的每个属性,因为添加新属性会在尝试将它们映射到我自己的对象时破坏功能(导致异常).
ForAllOtherMembers 扩展方法已从 Automapper 11 中删除,我使用它来忽略除前面提到的属性之外的属性的常规映射,如下所示
ForAllOtherMembers(opt=>opt.ignore())
Run Code Online (Sandbox Code Playgroud)
如何在 Automapper 11 中执行此操作?
我知道有很多关于此的问题(和答案),但是当使用 .net6 和 automapper 11.01.1 时,这些问题都不适合我。他们似乎已经删除了其中的许多Ignore,IgnoreAllUnmapped并且ForAllOtherMembers在最新的 automapper 中。如果我使用ignore with ForAllMembers(before或after ForMember),它将忽略所有字段,甚至是我用地图指定的字段。
问题:我有两个具有相同名称字段的类,但我只想映射一些并忽略其余的。(请不要说“为什么需要自动映射器”,这不是这里的问题)。
在这种情况下我需要使用自动映射器,但不确定他们是否不再支持这个?我可能错过了一个nuget吗?我只使用“AutoMapper 11.01.1”
public class User1
{
public string Name { get; set; } = "Foo";
public int Age { get; set; } = 7;
public string Phone { get; set;} = "123456789";
}
public class User2
{
public string FirstLastName { get; set; }
public int Age { get; set; }
public string Phone { get; set; } …Run Code Online (Sandbox Code Playgroud)