2012-02-16 38 views
1

在我的數據庫中,我有一個安全類型信息的層次結構。安全性可以有一個類型和一個子類型。類型是唯一的整數。亞型是唯一的整數。我想以某種方式在C#中複製它。理想情況下,我的代碼是這樣的:複製包含類型信息層次結構的數據庫結構。 (在C#中的多級枚舉?)

int securityTypeA = Equity; 
int securitySubTypeA = Equity.ETF; 

int securityTypeB = Option; 
int securitySubTypeB = Option.OverTheCounter; 

注意,這些任務後,securitySubTypeA可能具有相同的整數值securityTypeB,但securityTypeA <>securityTypeBsecuritySubTypeA < >securitySubTypeB

在我的數據庫,tblSecuritySubTypes有主鍵secSubTypeId:整數和外鍵secTypeId:整數。我的表tblSecurityTypes有主鍵secTypeId:int

如何在C#中執行此操作?如果我只有一個層次結構,我只需使用枚舉

回答

0

我不認爲你可以做到這一點沒有額外的命名空間元素; Equity可能在靜態類中爲const int,但不能寫入Equity.ETF,因爲Equityint。因此,您必須創建一個名爲Equity的靜態類(以便能夠將ETF作爲成員;不能使用Equity作爲值)或將Equity作爲值(但不能有嵌套成員) 。

+0

你知道處理這種情況的首選方法嗎?我試着做一些類似於有一個名爲SecurityType的抽象靜態類,並派生了一個名爲EquityType和OptionType的靜態類。這不起作用,因爲C#不允許使用靜態類的這個結構。 – user1214135 2012-02-16 15:30:43