2008-09-18 8 views
0

Supposons que j'ai une chaîne 'nvarchar (50)', qui est par exemple le segment de chaîne T-SQL utilisé pour créer une table de ce type. Comment puis-je convertir cela en une représentation enum de System.Data.DbType?Comment convertir au mieux une représentation de chaîne en un DbType?

pourrait-il gérer les différentes façons d'écrire le type dans T-SQL, tels que:

[nvarchar](50) 
nvarchar 50 

@Jorge Tableau: Oui, c'est pratique, mais est pas là un convertisseur précuit? Sinon bonne réponse.

Répondre

1

Ma première tentative impliquerait l'aide d'un regex pour analyser les deux parties de la déclaration (où la deuxième partie est uniquement utilisée pour les variablement de taille.) Assurez-vous que vous convertissez le type nom à la baisse cas lorsque vous l'avez analysé.

Vous pouvez créer une énumération avec tous les types (minuscules), puis utiliser Enum.Parse pour obtenir une instance de la valeur enum, puis utiliser un commutateur pour obtenir le System.Data approprié .DbType pour chaque valeur d'énumération.

Un peu grossier, je l'admets.