Jeśli podano ciąg znaków, który zawiera typ danych SQL Server/T-SQL, jaki jest najłatwiejszy sposób oceny łańcucha na typ .Net?Biorąc pod uwagę typ T-SQL jako ciąg, jaki jest najłatwiejszy sposób oceny go do typu .Net?
Na przykład, jeśli masz ciąg zawierający "nvarchar", wynik zwracany przez metodę konwersji powinien być typu System.String
. Jeśli mam ciąg znaków zawierający "int", wynikiem powinien być obiekt typu System.Int32
.
Mogę łatwo napisać funkcję, która pobiera ciąg danych SQL i wysyła ciąg przez instrukcję switch/case, która zwraca obiekt typu .Net Type. Nie byłem jednak pewien, czy w strukturze .Net została ukryta funkcja, którą przeoczyłem, już to robi.
Jaki jest najłatwiejszy/poprawny sposób na typ danych SQL Server na typ danych .Net?
dodatkowy kontekst
w moim przypadku, ja rzeczywiście mają procedurę przechowywaną, która zwraca niektóre meta-informacje na temat danych. W szczególności zwracane jest pole ciągu zawierające wartość typu sql, która może być dowolnym typem sql, który był dostępny w SQL Server 2005.
Moja procedura składowana ma potencjał zwracania dowolnego typu sql - int
, smallint
, datetime
, binary
, itp. Muszę wziąć ten typ danych i przekonwertować go na obiekt .Net Type
.
Poniższy komentarz Matthew zawiera wszystkie niezbędne informacje na temat mapowania, prosto z dokumentacji firmy Microsoft, ale znowu zastanawiałem się, czy coś jest zintegrowane z przestrzeniami nazw System.Data
lub System.Data.SqlClient
.
SQL-CLR typ mapowania: http://msdn.microsoft.com/en-us/library/bb386947.aspx – Matthew
Jeśli ciąg zawiera jakieś dane z SQL następnie dane są obecnie ciągiem. Może mógłby pomóc jakiś kontekst. – Nick
Tak jak powiedział @Matthew, potrzebne jest mapowanie typów SQL-CLR. –