0

如果我在这样的对象中有一个对象列表:

//There is a class just like this InnerSource
public class InnerClass
{
   //Because why not
   public int[] Nums;
}
//There is a class OuterSource just like this but it has a List of
//InnerSource objects
public class OuterClass
{
   public IEnumerable<InnerClass> InnerObjects;
}

我认为这将是处理将 OuterSource 对象映射到 OuterClass 对象的一种优雅方式,但它似乎不起作用:

public class CreateMaps
{
   public void CreateAllMaps()
   {
      Mapper.CreateMap<InnerSource, InnerClass>();
      Mapper.CreateMap<OuterSource, OuterClass>()
      .ForMember(dest => dest.InnerObjects, opt => MapFrom(
         src => src.InnerSource));
   }
}

我也尝试过使用 src => Mapper.Map, IEnumerable>(src.InnerSource) 但这也不起作用。没有工作我的意思是我没有得到一个 InnerClass 对象的列表,而是得到一个空列表。我确保 InnerSource 列表中有对象,所以我真的很茫然。有任何想法吗?

4

1 回答 1

0

我实际上认为你甚至不需要这ForMember条线。尝试这样做:

public class CreateMaps
{
   public void CreateAllMaps()
   {
      Mapper.CreateMap<InnerSource, InnerClass>();
      Mapper.CreateMap<OuterSource, OuterClass>();
   }
}
于 2013-07-30T03:19:47.987 回答