Como faço para melhor converter uma representação de cadeia em um DbType?
Pergunta
Suponhamos que temos um 'nvarchar (50)' corda, que é por exemplo o segmento de corda T-SQL utilizada na criação de uma mesa desse tipo. Como faço para melhor convertê-lo em uma representação enumeração de System.Data.DbType?
Poderia lidar com os muitos diferentes maneiras possíveis de escrever o tipo de T-SQL, tais como:
[nvarchar](50)
nvarchar 50
@Jorge Tabela: Sim, isso é útil, mas não é lá um conversor prebaked? Caso contrário boa resposta.
Solução
Hope esta tabela de mapeamento de fazer o trabalho.
Outras dicas
Minha primeira tentativa envolveria usando um regex para analisar as duas partes da declaração (onde a segunda parte é usada apenas para tipos de vários tamanhos.) Certifique-se de converter o nome do tipo para minúsculas quando você analisado -lo.
Você poderia fazer uma enumeração com todos os vários tipos nele (Baixa-encaixotado), então use Enum.Parse para obter uma instância do valor enum, e então usar um caso de mudança para obter o System.Data apropriado. DbType para cada valor enum.
Tipo de Gross, admito.