复制包含类型信息层次结构的数据库结构。 (在C#中的多级枚举?)

问题描述:

在我的数据库中,我有一个安全类型信息的层次结构。安全性可以有一个类型和一个子类型。类型是唯一的整数。亚型是唯一的整数。我想以某种方式在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#中执行此操作?如果我只有一个层次结构,我只需使用枚举

我不认为你可以做到这一点没有额外的命名空间元素; Equity可能在静态类中为const int,但不能写入Equity.ETF,因为Equityint。因此,您必须创建一个名为Equity的静态类(以便能够将ETF作为成员;不能使用Equity作为值)或将Equity作为值(但不能有嵌套成员) 。

+0

你知道处理这种情况的首选方法吗?我试着做一些类似于有一个名为SecurityType的抽象静态类,并派生了一个名为EquityType和OptionType的静态类。这不起作用,因为C#不允许使用静态类的这个结构。 – user1214135 2012-02-16 15:30:43