2014-07-16 38 views
0

假設我有兩個表,「文章」和「事件」。他們都有意見,所以他們都需要訪問「評論」實體。帶有兩個父母的Asp.net子對象

我該如何聲明這種關係?在「註釋」中有兩個外鍵是有問題的,因爲其中一個外鍵在每種情況下都是空的。 我可以不聲明任何外鍵嗎?有關於如何處理這種情況的約定?

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共享一個FK。