我想將我們所有網站的內容存儲在一箇中心內容表中,但將其與網站的每個部分相關聯。喜歡的東西:EF6 Code First:如何爲我的網站的不同部分集中內容?
- 內容(實際內容的byte []和基本信息所有部分使用)
- ResearchArticleContent(主要有從內容表中特定ResearchArticles相關內容識別和額外的cols的信息)
- ResearchArticle
- ExecutiveContent(主要有從內容表併爲管理人員的具體數據額外的cols相關內容識別)
- 執行
...等等。 我無法理解整個代碼的第一種方法,因爲它涉及到ForeignKeys和InverseProperties。這是真正的問題。
所以,說我有這兩個類爲例:
public class Content
{
[Key]
public int ContentId { get; set; }
public int ContentType { get; set; }
public byte[] ContentBytes { get; set; }
public DateTime AddedDate { get; set; }
[**`InverseProperty or ForeignKey???`**("ResearchArticleContent")]
public virtual ResearchArticleContent ResearchArticleContent { get; set; }
}
和:
public class ResearchArticleContent
{
[Key]
public int ResearchArticleContentId { get; set; }
[ForeignKey("ContentId")]
public virtual Content Content {get;set;}
public int ResearchArticleId { get; set; }
[ForeignKey("ResearchArticleId")]
public virtual ResearchArticle RelatedArticle { get; set; }
}
我在哪裏把ForeignKeys/InverseProperties正確地涉及這些。因爲理想情況下,我將爲該網站的每個部分提供Executive內容,ResearchArtic內容等。 (我遵循已經在Data-First prj中已經制定的先例,我正在模擬這種方式,因爲這是我的做法,fyi。)
我在www.crowdit.com上有一個這樣的工作示例。我創建了一個包含所有基本屬性的DreamBase類。然後,我創建了一個Dream類來表示實際的Dreams表。最後,我創建了一個從DreamBase派生並實現一些聚合屬性的DreamView對象。 DreamView代表我從Dreams表格創建的視圖,它包含一些彙總數據。這與你想要完成的工作非常相似,我想。 – Markus
感謝您的回覆。你的方式是有道理的,而且是我最初做的。然而,我被告知要按照你描述的那樣做「單一方式」,所以這個答案對我沒有幫助。不過謝謝。我仍然需要回答我原來的問題。 –
哦,我陷入了困境......我猜不太明白你的問題。那麼,你真正想要的是設置導航屬性?如果是這樣的話,你真的需要從Content對象導航到引用它的對象嗎? (您可以使導航屬性只朝一個方向。) – Markus