我们说我有两张桌子,"文章"和"事件"。他们都有评论,所以他们都需要访问"评论"实体。
我如何宣布这种关系?在"评论和#34;中有两个外键是有问题的,因为其中一个外键在每种情况下都是null。 我可以不申报任何外键吗?是否有关于如何处理这种情况的惯例?
public class Article
{
public int Id { get; set; }
public virtual IEnumerable<Comment> comments { get; set; }
}
public class Event
{
public int Id { get; set; }
public virtual IEnumerable<Comment> comments { get; set; }
}
public class Comment
{
public int Id { get; set; }
public Article article { get; set; }
public Event event{ get; set; }
}
答案 0 :(得分:0)
我可能会考虑每个实体的专用评论表。文章的一个评论表和事件的另一个评论表。特别是如果个人评论从不适用于文章和活动。
但是,没有什么可以阻止你像你所描述的那样用两个FK制作一个共享的。