Как мне лучше всего преобразовать строковое представление в DbType?

StackOverflow https://stackoverflow.com/questions/91124

  •  01-07-2019
  •  | 
  •  

Вопрос

Предположим, у меня есть строка 'nvarchar(50)', которая является, например, сегментом строки T-SQL, используемым при создании таблицы этого типа.Как мне лучше всего преобразовать это в перечисляемое представление System.Data.DbType?

Может ли он обрабатывать множество различных возможных способов записи типа в T-SQL, таких как:

[nvarchar](50) 
nvarchar 50

@Таблица Хорхе:Да, это удобно, но разве нет готового конвертера?В остальном хороший ответ.

Это было полезно?

Решение

Надеюсь, эта таблица сопоставления справится с этой задачей.

http://www.carlprothman.net/Default.aspx?tabid=97

Другие советы

Моя первая попытка включала бы использование регулярного выражения для анализа двух частей объявления (где вторая часть используется только для типов с переменным размером). Убедитесь, что вы преобразовали имя типа в нижний регистр, когда вы его проанализировали.

Вы могли бы создать перечисление со всеми различными типами в нем (в нижнем регистре), затем использовать Enum.Parse для получения экземпляра значения enum, а затем использовать switch-case для получения соответствующего System.Data.DbType для каждого значения enum.

Немного мерзко, я признаю.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top