2009-07-25 73 views
0

我在映射到主實體類的數據庫中有一個表。該表有一些列將外鍵值保存到其他屬性表中。如何將外鍵屬性表映射到業務實體

如何將這些映射到業務類?我是否爲每個屬性表創建一個新類,並讓主類將這些屬性保存爲屬性?

回答

1

如果主表和屬性表之間的關係是1:1(對於主表中的給定記錄,屬性表中有一個或只有一個活動記錄),我將爲屬性表中的每個屬性S)。

如果主表和屬性表之間的關係是1:n,那麼每個屬性表都有一個單獨的類(可能嵌套在主實體類中)。然後,主實體類將爲每個屬性表擁有一個屬性,這將是一個類型爲List<AttributeType>的列表(因爲主表中給定記錄的屬性表中可能有許多記錄)。

0

我認爲你的主要「實體」類具有屬性,這些關係是另一種強類型的正確軌道。

假設您有一個Product表和一個Category表,其中Product表包含一個到Category表的主鍵的外鍵。在你的代碼中,你的Product類沒有得到一個整數「CategoryID」屬性 - 它得到一個「Category」屬性,它是對Category類型的引用。

class Product 
{ 
    public int ProductID { get; set; } 
    public string Name { get; set; } 
    public Category Category { get; set;} 
} 

class Category 
{ 
    public int CategoryID { get; set; } 
    public string Name { get; set; } 
} 

走這條路,您可以使用標準的類,然後你的持久層(EF,NHibernate的,等等)可以處理數據庫交互和處理表之間的外鍵編寫你的業務邏輯。

相關問題