SQL Server/T-SQL データ型を含む文字列が与えられた場合、その文字列を .Net 型に評価する最も簡単な方法は何ですか?
たとえば、「nvarchar」を含む文字列がある場合、変換メソッドによって返される結果はSystem.String
Type である必要があります。「 int 」を含む文字列がある場合、結果はSystem.Int32
Type オブジェクトになるはずです。
SQL データ型文字列を受け取り、.Net Type オブジェクトを返す switch/case ステートメントを介して文字列を送信する関数を簡単に作成できます。しかし、私が見落としていた .Net フレームワークに埋め込まれていて、既にこれを行っている関数があるかどうかはわかりませんでした。
SQL Server データ型を .Net データ型に解決する最も簡単で正しい方法は何ですか?
追加のコンテキスト
私の場合、実際には、データに関するメタ情報を返すストアド プロシージャがあります。具体的には、SQL Server 2005 内で使用可能な任意の sql-type である可能性のある sql-type 値を含む文字列フィールドが返されます。
int
私のストアド プロシージャは、smallint
、datetime
、 、 などの sql-type を返す可能性があります。binary
このデータ型を取得して、.NetType
オブジェクトに変換する必要があります。
以下の Matthew のコメントは、Microsoft のドキュメントから直接、必要なすべてのマッピング情報を提供しますが、繰り返しになりますが、System.Data
またはSystem.Data.SqlClient
名前空間のいずれかに統合されたものがあるかどうか疑問に思っていました。