Репликация структуры базы данных, содержащей иерархию информации о типе.(Многоуровневые перечисления в C #?) - PullRequest
1 голос
/ 16 февраля 2012

В моей базе данных есть иерархия информации о типах безопасности. Безопасность может иметь тип и подтип. Типы являются уникальными целыми числами. Подтипы являются уникальными целыми числами. Я хотел бы повторить это в C # как-то. В идеале мой код должен выглядеть так:

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

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

Обратите внимание, что после этих назначений securitySubTypeA может иметь то же целочисленное значение, что и securityTypeB , но securityTypeA <> securityTypeB и securitySubTypeA <> securitySubTypeB .

В моей базе данных tblSecuritySubTypes имеет первичный ключ secSubTypeId: int и внешний ключ secTypeId: int . Моя таблица tblSecurityTypes имеет первичный ключ secTypeId: int .

Как я могу сделать это в C #? Если бы у меня был только один уровень иерархии, я бы просто использовал enum .

1 Ответ

0 голосов
/ 16 февраля 2012

Я не думаю, что вы можете сделать это без дополнительных элементов пространства имен; Equity может быть в статическом классе как const int, но тогда вы не можете написать Equity.ETF, потому что Equity - это int. Таким образом, вы должны либо создать статический класс с именем Equity (чтобы иметь возможность иметь ETF в качестве члена; вы не можете использовать Equity в качестве значения) или иметь Equity в качестве значения (но тогда у вас не может быть вложенных членов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...