如何将文章与相关标签一起返回

问题描述 投票:0回答:1

我有三个表:文章,标签和ArticleTag。 Article模型与Tag模型具有多对多关系,ArticleTag作为它们的关节。这是模型:

public class Article
{
    ... 

    public ICollection<ArticleTag> ArticleTags { get; set; }
}

public class Tag
{
    ... 

    public ICollection<ArticleTag> ArticleTags { get; set; }
}

public class ArticleTag
{
    public int ArticleId { get; set; }
    public Article Article { get; set; }

    public int TagId { get; set; }
    public Tag Tag { get; set; }
}

这是我得到文章的方式:

public Article GetArticleById(int id)
{
    return _appContext.Articles
        .Include(a => a.ArticleTags).ThenInclude(at => at.Tag)
        .FirstOrDefault(a => a.Id == id);
}

视图模型:

public class ArticleViewModel
{
    ...

    public ICollection<TagViewModel> Tags { get; set; }
}

这是控制器:

[HttpGet("{id:int}")]
public IActionResult Get(int id)
{
    var article = _unitOfWork.Articles.GetArticleById(id);

    return Ok(Mapper.Map<ArticleViewModel>(article));
}

API请求返回文章但不包含标记。

c# asp.net-web-api asp.net-core
1个回答
1
投票

请尝试以下代码配置Mapper

  1. TagViewModel public class TagViewModel { public int Id { get; set; } public string TagName { get; set; } }
  2. AutoMapper配置文件 qazxsw poi
© www.soinside.com 2019 - 2024. All rights reserved.