Как мне лучше всего преобразовать строковое представление в DbType?
Вопрос
Предположим, у меня есть строка 'nvarchar(50)', которая является, например, сегментом строки T-SQL, используемым при создании таблицы этого типа.Как мне лучше всего преобразовать это в перечисляемое представление System.Data.DbType?
Может ли он обрабатывать множество различных возможных способов записи типа в T-SQL, таких как:
[nvarchar](50)
nvarchar 50
@Таблица Хорхе:Да, это удобно, но разве нет готового конвертера?В остальном хороший ответ.
Решение
Надеюсь, эта таблица сопоставления справится с этой задачей.
Другие советы
Моя первая попытка включала бы использование регулярного выражения для анализа двух частей объявления (где вторая часть используется только для типов с переменным размером). Убедитесь, что вы преобразовали имя типа в нижний регистр, когда вы его проанализировали.
Вы могли бы создать перечисление со всеми различными типами в нем (в нижнем регистре), затем использовать Enum.Parse для получения экземпляра значения enum, а затем использовать switch-case для получения соответствующего System.Data.DbType для каждого значения enum.
Немного мерзко, я признаю.