Перечисление в DataSet - PullRequest
       16

Перечисление в DataSet

7 голосов
/ 24 июня 2009

Я использую DataSet для соединения моей программы на C # с базой данных SQL. Я хочу, чтобы один из столбцов был перечислением, и я хочу, чтобы он действовал как перечисление в моем коде. Как я могу это сделать?

Ответы [ 5 ]

8 голосов
/ 24 июня 2009

Я не хочу разорвать пузырь каждого, но вы можете легко отобразить целое число в Enum, используя строго типизированный набор данных. Я делаю это все время. Вместо того, чтобы напечатать все это здесь, я создал запись в своем блоге , подробно описывающую, как это сделать.

0 голосов
/ 24 июня 2009

Технически, вы не можете. Перечисления имеют статическую типизацию, они предназначены для использования, когда вы знаете все значения во время компиляции. Хотя есть некоторые обходные пути, я настоятельно рекомендую вам не делать этого.
Посмотрите на неизменяемый набор данных, это даст большую часть преимуществ Enum и может быть создано на лету.

Хотя данные нельзя хранить как Enum, их можно использовать как необычный фильтр, если данные в столбце базы данных имеют целочисленный тип. Это совершенно другой вопрос, если это то, что вы после. Перейдите на страницу MSDN и прочтите Enum.

0 голосов
/ 24 июня 2009

Я бы предложил использовать слой ApplicationService, который находится поверх уровня вашего хранилища. Затем в своем классе ApplicationService (придумайте подходящее имя для этого класса) вы можете преобразовать данные, возвращаемые из уровня хранилища, в соответствующее значение перечисления в вашем объекте POCO.

0 голосов
/ 24 июня 2009

Вы можете попробовать использовать строго типизированный набор данных .

0 голосов
/ 24 июня 2009

Не думаю, что ты можешь. SQL Server не имеет понятия перечислений.

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