asp.net core AutoMapper 多对多的关系处理

文章

    public class Article
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }
        public List<ArticleClassArticle> ArticleClassArticles { get; set; } = new();
    }

文章分类

    public class ArticleClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public List<ArticleClassArticle> ArticleClassArticles { get; set; } = new();
     }

文章和分类的多对多关系

   public class ArticleClassArticle
    {
        /// <summary> 文章id </summary>
        public int ArticleId { get; set; }
        /// <summary> 文章 </summary>
        public Article Article { get; set; }

        /// <summary> 文章分类id </summary>
        public int ArticleClassId { get; set; }
        /// <summary> 文章分类 </summary>
        public ArticleClass ArticleClass { get; set; }
    }

文章对外的model (DTO)

   public class ArticleViewDTO
   {
        public int Id { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }
        public List<ArticleClassViewDTO> Classes { get; set; } = new();
   }

分类对外的model (DTO)

   public class ArticleClassViewDTO
   {
        public int Id { get; set; }
        public string Name { get; set; }
   }

AutoMapper配置

 public class MapperProfile : Profile
  {
      public MapperProfile()
      {
            CreateMap<ArticleClassArticle, ArticleClassViewDTO>()
                .ForMember(v => v.Id, ol => ol.MapFrom(s => s.ArticleClass.Id))
                .ForMember(v => v.Name, ol => ol.MapFrom(s => s.ArticleClass.Name));

            CreateMap<Article, ArticleViewDTO>()
                 .ForMember(v => v.Classes, ol => ol.MapFrom(s => s.ArticleClassArticles));
       }
}
  • 希望对您有所帮助
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容