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.

Foi útil?

Solução

Hope esta tabela de mapeamento de fazer o trabalho.

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

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top