复制包含类型信息层次结构的数据库结构。 (在C#中的多级枚举?)
问题描述:
在我的数据库中,我有一个安全类型信息的层次结构。安全性可以有一个类型和一个子类型。类型是唯一的整数。亚型是唯一的整数。我想以某种方式在C#中复制它。理想情况下,我的代码是这样的:复制包含类型信息层次结构的数据库结构。 (在C#中的多级枚举?)
int securityTypeA = Equity;
int securitySubTypeA = Equity.ETF;
int securityTypeB = Option;
int securitySubTypeB = Option.OverTheCounter;
注意,这些任务后,securitySubTypeA可能具有相同的整数值securityTypeB,但securityTypeA <>securityTypeB和securitySubTypeA < >securitySubTypeB。
在我的数据库,tblSecuritySubTypes有主键secSubTypeId:整数和外键secTypeId:整数。我的表tblSecurityTypes有主键secTypeId:int。
如何在C#中执行此操作?如果我只有一个层次结构,我只需使用枚举。
答
我不认为你可以做到这一点没有额外的命名空间元素; Equity
可能在静态类中为const int
,但不能写入Equity.ETF
,因为Equity
是int
。因此,您必须创建一个名为Equity
的静态类(以便能够将ETF
作为成员;不能使用Equity
作为值)或将Equity
作为值(但不能有嵌套成员) 。
你知道处理这种情况的首选方法吗?我试着做一些类似于有一个名为SecurityType的抽象静态类,并派生了一个名为EquityType和OptionType的静态类。这不起作用,因为C#不允许使用静态类的这个结构。 – user1214135 2012-02-16 15:30:43