Asp.net与两个父母的子对象

时间:2014-07-16 00:18:11

标签: asp.net model entity relationship

我们说我有两张桌子,"文章"和"事件"。他们都有评论,所以他们都需要访问"评论"实体。

我如何宣布这种关系?在"评论和#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; }    
} 

1 个答案:

答案 0 :(得分:0)

我可能会考虑每个实体的专用评论表。文章的一个评论表和事件的另一个评论表。特别是如果个人评论从不适用于文章和活动。

但是,没有什么可以阻止你像你所描述的那样用两个FK制作一个共享的。