具有两个父对象的Asp.net子对象

具有两个父对象的Asp.net子对象,asp.net,model,entity,relationship,Asp.net,Model,Entity,Relationship,假设我有两个表,article和event。它们都有注释,因此都需要访问注释实体 我如何声明这种关系?注释中有两个外键是有问题的,因为在任何情况下,其中一个外键都将为null。 我可以不声明任何外键吗?有没有关于如何处理这种情况的公约 public class Article { public int Id { get; set; } public virtual IEnumerable<Comment> comments { get; set; } } pu

假设我有两个表,article和event。它们都有注释,因此都需要访问注释实体


我如何声明这种关系?注释中有两个外键是有问题的,因为在任何情况下,其中一个外键都将为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; }    
} 

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


但是,没有任何东西可以阻止您使用您描述的两个FK创建共享的FK

注释中有两个外键是有问题的,因为在每种情况下其中一个外键都是空的-一个外键可以是空的。。。