Есть ли общий способ передачи DbType в качестве параметра
-
27-10-2019 - |
Вопрос
Мне нужно выполнить этот параметризованный запрос или его эквивалент:
ALTER TABLE tableName ADD COLUMN ? ?
с параметрами в качестве имени нового столбца и типа данных. Например, если я передаю 'Name' DbType.Double, он будет разрешен следующим образом:
ALTER TABLE tablename ADD COLUMN Name FLOAT
Я не могу просто создать сопоставление между DbType и именем типа поля, так как код работает с интерфейсом IDbConnection
, а не с конкретной реализацией.Есть ли общий способ сделать это?Прямо сейчас у меня есть отдельное отображение для каждой реализации, что явно далеко от идеала.
Решение
Вам придется делать это динамически, и, возможно, имеет смысл посмотреть на перевод для конкретного поставщика (чтобы поставщики могли предоставлять свои собственные сопоставления).