AutoMapper合并两个类型,忽略一个属性
本文关键字:一个 属性 两个 合并 AutoMapper 类型 | 更新日期: 2023-09-27 18:14:53
我有这个实体:
public class MyType
{
public Guid Id {get;set;}
public string Name {get;set;}
}
我想把这两个类型合并在一起,但是源Id
需要保持不变。
所以对象是这样填充的:
From the Database => MyType {
Id: 012312-42134-12321-12,
Name: "This Type"
}
From the View => MySecondType {
Id: null,
Name: "This Type Changed"
}
我想将MySecondType
合并到MyType
中,但忽略合并中的Id
字段。
所以我想也许可以这样做:
Mapper.Map(mySecondType, myType);
将数据库myType
填充为视图mySecondType
,但没有设置忽略属性
设置你的AutoMapper时,你可以忽略一个属性:
Mapper
.CreateMap<MySecondType, MyType>()
.ForMember(x => x.Id, opt => opt.Ignore());
也就是说,在ASP中使用视图模型会更有意义。净MVC。因此,您将拥有具有Id
和Name
属性的DB绑定模型MyType
,并拥有仅具有Name
属性并在视图中使用的MyTypeViewModel
。那么你就不需要忽略任何属性了。这将自动来自于视图模型的设计。