我有以下列表。我想将 映射attributesList
到fieldsList
列表,但我只想更新 Value
fieldsList 中Name
值相等的属性。中的所有其他属性都fieldsList
应该被忽略——为简洁起见,我只列出了一些。
public class Attribute {
public int Id { get; set; }
public string Name { get; set; }
public string Value { get; set; }
}
public class Field {
public string Name { get; set; }
public string Value { get; set; }
public string Type {get; set; }
public string Style {get; set; }
}
var attributesList = new List<Attributes>
{
new Field {Id = 1, Name = "Color", Value = "Blue"},
new Field {Id = 2, Name = "Subject", Value = "Maths"}
};
var fieldsList = new List<Field>
{
new Field {Name = "Color", Value = "", Type = "Text", Style = "padding:10px"},
new Field {Name = "Subject", Value = "", Type = "Text", Style = "padding:10px"}
};
Mapper.CreateMap<List<Attributes>, List<Field>>()
.ForMember(dest => dest.Name, opt => opt.Ignore()
.ForMember(dest => dest.Type, opt => opt.Ignore()
.ForMember(dest => dest.Style, opt => opt.Ignore())
如何应用条件来更新Values
目标列表中Name
源和目标中的属性都匹配的属性?
有没有更短的方法来忽略属性而不是一个一个地列出它们?