我有一個類問題EF代碼優先外鍵
CompareItems存儲CurrentQuestion到其他問題的比較信息。
public class Question
{
public virtual ICollection<QuestionMark> CompareItems { get; set; }
}
public class QuestionMark
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int Question { get; set; } //Store ID of OtherQuestion
public decimal Mark { get; set; }
}
當我刪除了一些質疑,我需要所有的問號,其中QuestionMark.Question == A.Id也刪除了,因爲它是沒有必要有,如果不存在問題的信息進行比較。如何能夠做到這一點而不進行QuestionMark.Question實體?也許EF有良好的API一些規則來設置QuestionMark.Question是問題的實體外鍵?
我不慣於做QuestionMark.Question爲實體,因爲這將需要改變目前的解決方案很多 - 是第一。此外,問題是一個相當重實體,並將其裝載到多個時間分配值或刪除或別的東西,會按業績
要添加,如果原因是「因爲我想從QuestionMark對象訪問問題編號」,則可以公開外鍵屬性和導航屬性。 – hvd 2012-01-13 08:57:54