【问题标题】:How can I add Tags to my blog while creating a new post?如何在创建新帖子时将标签添加到我的博客?
【发布时间】:2017-11-03 13:45:27
【问题描述】:

我试图弄清楚如何在创建新帖子时插入标签对象列表。

    public class Post
    {
    public int PostId { get; set; }
    public string Title { get; set; }
    public ICollection<PostTag> PostTags { get; set; }
    }
     public class PostTag
    {
    public int TagId { get; set; }
    public Tag Tag { get; set; }
    public int PostId { get; set; }
    public Post Post { get; set;}
     }
    public class Tag
    {
    public int TagId { get; set; }
    public string Text { get; set; }
    public ICollection<PostTag> PostTags { get; set }

// 后控制器

Content = model.Content,我不知道如何获取标签 我使用标签、PostTags 吗?我很困惑。

public IActionResult Add(NewPostModel model)
{
    return new Post()
    {
    Title = model.Title,

    Tags = ??
    }
}

【问题讨论】:

  • 这取决于您是否使用像实体框架这样的 ORM。有时,在您的 ORM 执行所有关系管理时,将一组标签添加到帖子中会很简单。如果您手动管理关系,则需要与帖子一起创建新的 PostTag 和标签。
  • 我正在使用 Entity Framework Core (2.0)

标签: c# tags


【解决方案1】:

使用对象初始化语法:

public IActionResult Add(NewPostModel model)
{
    return new Post()
    {
        Title = model.Title,

        PostTags = new List<PostTag> ()
        {
            new PostTag ()
            {
                Tag = new Tag ()
            },
            new PostTag ()
            {
                Tag = new Tag()
            }    
        }
    }
}

您可以找到更多信息here

【讨论】:

  • 好主意,除非我也想使用“string.split”来分隔多个标签?
猜你喜欢
  • 2014-06-02
  • 2011-04-23
  • 1970-01-01
  • 1970-01-01
  • 2011-09-20
  • 2015-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多