2015-06-01 96 views
0

當我映射項目映射集

var List<A> myCollection = new List<A>(); 

public class A 
{ 
    bool HasChanges {get;set;} 
} 

var mappedCollection = Map(myCollection); 

然後我只想地圖,HasChanges ==真

這是可能的項目的集合忽略收集與Automapper項目?

回答

0

使用LINQ:

var mappedCollection = Map(myCollection.Where(x => x.HasChanges == true).ToList()); 
+0

我的例子被簡化了,這就是我想使用automapper的原因,我映射了一個包含3個集合的集合,我只希望每個集合中都有變化的objets,然後linq不會再漂亮了 – Mech0z

+0

Linq總是很漂亮。不要苛刻! ;)請更新您的問題以獲得更好的答案。 – Smartis

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你的對象,將使用您的自定義映射器將其轉換後,這將使你跳過變化的項目。