是否有.NET的SqlClient的方式来翻译SQLTYPE实际SQL类型声明,就像如何将SqlType本地转换为基础SQL类型声明?
SqlInt32 -> "int"
SqlGuid -> "uniqueidentifier"
SqlXml -> "xml"
SqlString -> "nvarchar(??)"
没有做手工?
CLARIFICATION:我试图自动重构一些SQL select语句,我需要知道它们返回的是什么类型。我打算通过运行下面的代码来做到这一点:
using (var connection = new SqlConnection(SqlConnectionString))
{
connection.Open();
var command = connection.CreateCommand();
command.CommandText = sql;
var reader = command.ExecuteReader(CommandBehavior.SchemaOnly);
for (int i = 0; i < reader.FieldCount; ++i)
{
var type = reader.GetProviderSpecificFieldType(i);
... generate some sql code ...
}
}
所以,一旦我得到的类型,我试图生成一些SQL代码,并使用SqlTye在GetProviderSpecificFieldType回来了,我想看看有没有已经有一个我可以使用的函数,它将采用SqlType并将SQL声明还给我。
+1,感谢您分享您的解决方案。 – Heinzi 2009-11-23 23:19:01