¿Cuál es la mejor manera de convertir una representación de cadena en un DbType?

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

  •  01-07-2019
  •  | 
  •  

Pregunta

Supongamos que tengo una cadena 'nvarchar(50)', que es, por ejemplo, el segmento de cadena T-SQL utilizado para crear una tabla de ese tipo.¿Cuál es la mejor manera de convertir eso en una representación enumerada de System.Data.DbType?

¿Podría manejar las diferentes formas posibles de escribir el tipo en T-SQL, como por ejemplo:

[nvarchar](50) 
nvarchar 50

@Jorge Mesa:Sí, eso es útil, pero ¿no hay un convertidor precocido?De lo contrario, buena respuesta.

¿Fue útil?

Solución

Espero que esta tabla de mapeo haga el trabajo.

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

Otros consejos

Mi primer intento implicaría usar una expresión regular para analizar las dos partes de la declaración (donde la segunda parte solo se usa para tipos de tamaño variable). Asegúrese de convertir el nombre del tipo a minúsculas cuando lo haya analizado.

Puede hacer una enumeración con todos los distintos tipos (en minúsculas), luego usar Enum.Parse para obtener una instancia del valor de enumeración y luego usar un cambio de mayúsculas y minúsculas para obtener el System.Data.DbType apropiado para cada valor de enumeración.

Algo asqueroso, lo admito.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top