如何为主细节定义模型属性

本文关键字:定义 模型 属性 细节 | 更新日期: 2023-09-27 18:09:49

我有一个帖子模型,它需要为每个帖子定义类别和标签,从类别或标签,我想达到所有的帖子,有那个类别的标签。这是我的博客模型

 public class Post
    {
        public Guid Id { get; set; }
        public string Title { get; set; }
        public string Body { get; set; }
        public string Summary { get; set; }
        public DateTime CreationDate { get; set; }
        public string UrlSlug { get; set; }
        public Category Category { get; set; }
        public Tag Tag { get; set; }
     }

,这是类别:

public class Category
    {
        public Guid Id { get; set; }
        public string Name { get; set; }
        public string UrlSlug { get; set; }
        public string Description { get; set; }
        public DateTime CreationDate { get; set; }
        public IList<Post> Posts { get; set; }
    }

最后是这个标签模型:

public class Tag
    {
        public Guid Id { get; set; }
        public string Name { get; set; }
        public string UrlSlug { get; set; }
        public string Description { get; set; }
        public DateTime CreationDate { get; set; }
        public IList<Post> Posts { get; set; } 
    }

我只是想知道我在设计模型时所做的是对的还是错的?

如何为主细节定义模型属性

你不需要模型中的列表(remove public IList Posts {get;设置;}

首先在控制器中创建两个get操作,一个是标签ID,另一个是类别ID。在这个操作中获取所有的帖子并填充你的视图(细节视图)

public ActionResult PostsByCategoryID(Guid Id)
{
  List<post> posts = ///get them by id
 return View(posts) ; //the view take list and displays the posts
}