在我的数据库中,我有一个安全类型信息的层次结构。安全可以有一个类型和一个子类型。类型是唯一的整数。子类型是唯一的整数。我想以某种方式在C#中复制这一点。理想情况下,我的代码应该是这样的:
int securityTypeA = Equity;
int securitySubTypeA = Equity.ETF;
int securityTypeB = Option;
int securitySubTypeB = Option.OverTheCounter;
请注意,在这些赋值之后,securitySubTypeA可能与securityTypeB具有相同的整数值,但ecurityTypeA<>安全类型B和安全子类型A<>安全子类型B。
在我的数据库中,tblSecuritySubTypes具有主键secSubTypeId:int和外键secTypeId:int。我的表tblSecurityTypes具有主键secTypeId:int。
我如何在C#中做到这一点?如果我只有一个层次结构级别,我会简单地使用枚举。
如果没有额外的名称空间元素,我认为您无法做到这一点;Equity
可以作为const int
在静态类中,但不能写入Equity.ETF
,因为Equity
是int
。因此,您必须创建一个名为Equity
的静态类(才能将ETF
作为成员;但不能将Equity
用作值),或者将Equity
作为值(但不能有嵌套成员)。