我正在建立一个有几个同学的学校项目。我们遇到了(小)问题。
将有一个论坛'同学可以发布问题以及其他人可以给出答案/回复的地方。
我们正在使用ASP.NET核心应用程序(web api)。所以,就是这样:我们希望同学能够喜欢问题,答案和回复。
我已经建立了一些模型,我们可以做的就是制作一个类似于'每个部分的表格(问题,答案,回复)。但我觉得这样效率不高。
public class Question
{
public Guid Id { get; set; }
public User User { get; set; }
public string Title { get; set; }
}
public class Answer
{
public Guid Id { get; set; }
public User User { get; set; }
public string Body { get; set; }
}
public class Comment
{
public Guid Id { get; set; }
public User User { get; set; }
public string Body { get; set; }
}
现在我的问题是,保存这些喜欢的最有效方法是什么?我已经建立了一个类似的模型,但我不确定什么是最好的。
public class Like
{
public Guid Id { get; set; }
public User User { get; set; }
}
我尝试过在问题,答案和评论模型中添加ICollection<Like>
等事情,但无法弄清楚如何使用此功能。
我希望有人有解决方案。
答案 0 :(得分:1)
这些方面的东西应该让你开始。 采纳您的问题,答案和评论类:
public class Question
{
public Guid Id { get; set; }
public User User { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public List<Answer> Answers {get; set; }
public List<Comment> Comments {get; set; }
}
public class Answer
{
public Guid Id { get; set; }
public User User { get; set; }
public string Body { get; set; }
public List<Comment> Comments {get; set; }
}
public class Comment
{
public Guid Id { get; set; }
public User User { get; set; }
public string Body { get; set; }
}
然后创建一个包含可能类型的帖子的枚举:
public enum TypeOfPost
{
Question,
Answer,
Comment
}
在Like类中使用此枚举:
public class Like
{
public Guid Id { get; set; }
public User User { get; set; }
public TypeOfPost PostType { get; set; }
public Guid LikedPostId { get; set; }
}