C# 映射到iList的Mapper.Map的条件
我设置了以下结构来将iList映射到集合。曾经,删除的项目只是从数据库中删除,但现在它们被“标记”为已删除(标志),这意味着现在需要在映射中过滤删除的项目。我使用了: .ForAllMembers(opt=>opt.Condition(src=>!src.Deleted.Equals(true)) db到对象映射的语法工作正常,但是,当对象是列表时,我不知道如何包含过滤器。代码如下:C# 映射到iList的Mapper.Map的条件,c#,automapper,C#,Automapper,我设置了以下结构来将iList映射到集合。曾经,删除的项目只是从数据库中删除,但现在它们被“标记”为已删除(标志),这意味着现在需要在映射中过滤删除的项目。我使用了: .ForAllMembers(opt=>opt.Condition(src=>!src.Deleted.Equals(true)) db到对象映射的语法工作正常,但是,当对象是列表时,我不知道如何包含过滤器。代码如下: Mapper.CreateMap<IList<DbItem>, Collection>(
Mapper.CreateMap<IList<DbItem>, Collection>()
.ConstructUsing(
(IList<DbItem> src) =>
src != null
? new AuthorizedContactCollection(Mapper.Map(src), *xxx*)
: new AuthorizedContactCollection())
.Ignore(dest => dest.IsSynchronized);
Mapper.CreateMap()
.施工(
(IList src)=>
src!=null
?新的授权联系人集合(Mapper.Map(src),*xxx*)
:新建AuthorizedContactCollection())
.Ignore(dest=>dest.IsSynchronized);
我怀疑过滤器应该放在xxx所在的位置,但我不知道语法…得到了语法,但出于某种原因它没有过滤出值 src!=null ?新的AuthorizedContactCollection(Mapper.Map>(src).Where(x=>!x.Deleted.Equals(true))) :新建AuthorizedContactCollection()) 对象没有被过滤掉…明白了。 Mapper.Map>(src.Where(x=>x.Deleted.Equals(true))) 希望这能在某些方面帮助别人