Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于条件的自动映射_C#_C# 4.0_Automapper_Automapping_Automapper 3 - Fatal编程技术网

C# 基于条件的自动映射

C# 基于条件的自动映射,c#,c#-4.0,automapper,automapping,automapper-3,C#,C# 4.0,Automapper,Automapping,Automapper 3,我正在尝试使用Automapper v3从Post结构映射到Postmodel类。我需要将术语名称映射到类别数组,但仅当类型等于类别时 这是我的密码 public class NewsModel { public NewsModel(int id) { Mapper.Initialize(cfg => { cfg.CreateMap<Post, Po

我正在尝试使用Automapper v3从Post结构映射到Postmodel类。我需要将术语名称映射到类别数组,但仅当类型等于类别时

这是我的密码

    public class NewsModel
    {

        public NewsModel(int id)
        {

             Mapper.Initialize(cfg =>
            {

                cfg.CreateMap<Post, PostModel>();

            });

            Posts = new List<PostModel> {Mapper.Map<PostModel>(_newsGetter.GetItem(id))};
        }

        public List<PostModel> Posts { get; set; }

    }
从此结构映射

    public struct Post
    {

        public Term[] Categories { get; set; }

    }

    public Struct Term
    {
         public string Name{ get; set; }
         public string Type{ get; set; }

    }

非常感谢您的帮助。

最简单的解决方案是将过滤后的类别从帖子映射到PostModel


到目前为止你尝试了什么?什么不起作用?我试过使用FormMember方法,但我无法开始工作。我所看到的每个示例都使用lamba表达式,但据我所知,这并不存在于任何覆盖中:/
    public struct Post
    {

        public Term[] Categories { get; set; }

    }

    public Struct Term
    {
         public string Name{ get; set; }
         public string Type{ get; set; }

    }
cfg.CreateMap<Post, PostModel>()
.ForMember(pm => pm.Categories
           , o => o.MapFrom(p => p.Categories.Where(t => t.Name != "Category")));
cfg.CreateMap<Term, string>().ConvertUsing(t => t.Name);