我只是不能決定選擇哪種方法來使用具有部分不同對象類型的分層樹。應用程序是Asp.Net MVC,我首先使用實體框架代碼。我的分層樹是一個信息內容結構。樹中的每個節點都可以是我的三種實現類型之一。asp.net中的層次結構樹的哪個實體設計mvc-application
現在,每種類型的表(TPT)似乎是我最好的設計選擇,但是您認爲如何??我選擇的設計有什麼缺點?例如,基類應該有鑑別器字段嗎?
爲了說明,下面是我當前設計的一個僞示例。
問候,柯樂埃裏克森
public abstract class PageObject
{
public int ID { get; set; }
public int? ParentID { get; set; }
public string Title { get; set; }
public virtual PageObject Parent { get; set; }
public virtual ICollection<PageObject> Children { get; set; }
}
[Table("LinkPage")]
public class LinkPage : PageObject
{
public string Url { get; set; }
}
[Table("FramedPage")]
public class FramedPage : LinkPage
{
public int? MinHeight { get; set; }
public int? MinWidth { get; set; }
}
[Table("ContentPage")]
public class ContentPage : PageObject
{
[DataType(DataType.Html)]
[AllowHtml]
public string Content { get; set; }
}
public class InheritanceMappingContext : DbContext
{
public DbSet<PageObject> PageObjects { get; set; }
}
我想我會給TPT一槍。我的「正常化」思維不喜歡破壞正常化形式,正如你所說,這種方法也沒有直接的錯誤。如果測試過程中性能下降,我想TPH將成爲救援。 – Clas