我正在映射一组项目
var List<A> myCollection = new List<A>();
public class A
{
bool HasChanges {get;set;}
}
var mappedCollection = Map(myCollection);
然后我只想映射HasChanges == true
的项目这可能吗?
答案 0 :(得分:0)
Linq:
var mappedCollection = Map(myCollection.Where(x => x.HasChanges == true).ToList());
答案 1 :(得分:0)
Automapper有自定义类型转换器:
https://github.com/AutoMapper/AutoMapper/wiki/Custom-type-converters
// this is your converter
public class ATypeConverter : ITypeConverter<string, A>
{
public A Convert(ResolutionContext context)
{
// implement conversion logic
}
}
// add this in a bootstrapper in your app
Mapper.CreateMap<string, A>().ConvertUsing<ATypeConverter>();
现在,在您Map
对象后,它会使用您的自定义映射器对其进行转换,这样您就可以跳过包含更改的项目。