Mapper.Map到iList

时间:2018-01-18 17:21:53

标签: c# automapper

我将以下结构设置为将iList映射到集合。有一次,删除的项目只是从数据库中删除,但现在它们被标记为" as deleted(flag)表示现在需要在映射中过滤已删除的项目。我用过: .ForAllMembers(opt => opt.Condition(src =>!src.Deleted.Equals(true)) db to object mappings的语法很好,但是,当对象是列表时,我无法弄清楚如何包含过滤器。代码如下:

Mapper.CreateMap<IList<DbItem>, Collection>()
     .ConstructUsing(
        (IList<DbItem> src) =>
             src != null 
                 ? new AuthorizedContactCollection(Mapper.Map(src), *xxx*)
                 : new AuthorizedContactCollection())
     .Ignore(dest => dest.IsSynchronized);

我怀疑过滤器应该放在 xxx 的位置,但是我无法弄清楚语法......

2 个答案:

答案 0 :(得分:0)

获得了语法,但由于某种原因,它没有过滤掉值...

src!= null                             ? new AuthorizedContactCollection(Mapper.Map&gt;(src).Where(x =&gt;!x.Deleted.Equals(true)))                             :new AuthorizedContactCollection())

该对象未被过滤掉......

答案 1 :(得分:0)

得到了它。      Mapper.Map&gt;(src.Where(x =&gt; x.Deleted.Equals(true))))

希望这在某些方面可以帮助别人!