Ben ben SQL Server türleri, SQLData türleri ve .NET türleri betwen dönüştürmek için kullanın aşağıdaki harita:SQL Server
/// <summary>
/// The map of types. THis maps all the corresponding types between sql server types, .net sql types, and .net types
/// </summary>
public static List<SqlTypeConversionHolder> TypeList = new List<SqlTypeConversionHolder>()
{
new SqlTypeConversionHolder("bigint", typeof(SqlInt64),typeof(Int64)),
new SqlTypeConversionHolder("binary", typeof(SqlBytes),typeof(Byte[])),
new SqlTypeConversionHolder("bit", typeof(SqlBoolean),typeof(Boolean)),
new SqlTypeConversionHolder("char", typeof(SqlChars),typeof(char)), //this one may need work
new SqlTypeConversionHolder("cursor", null,null),
new SqlTypeConversionHolder("date", typeof(SqlDateTime),typeof(DateTime)),
new SqlTypeConversionHolder("datetime", typeof(SqlDateTime),typeof(DateTime)),
new SqlTypeConversionHolder("datetime2", null,typeof(DateTime)),
new SqlTypeConversionHolder("DATETIMEOFFSET", null,typeof(DateTimeOffset)),
new SqlTypeConversionHolder("decimal", typeof(SqlDecimal),typeof(Decimal)),
new SqlTypeConversionHolder("float", typeof(SqlDouble),typeof(Double)),
//new SqlTypeConversionHolder("geography", typeof(SqlGeography),typeof(null));
//new SqlTypeConversionHolder("geometry", typeof(SqlGeometry),typeof(null));
//new SqlTypeConversionHolder("hierarchyid", typeof(SqlHierarchyId),typeof(null));
new SqlTypeConversionHolder("image", null,null),
new SqlTypeConversionHolder("int", typeof(SqlInt32),typeof(Int32)),
new SqlTypeConversionHolder("money", typeof(SqlMoney),typeof(Decimal)),
new SqlTypeConversionHolder("nchar", typeof(SqlChars),typeof(String)),
new SqlTypeConversionHolder("ntext", null,null),
new SqlTypeConversionHolder("numeric", typeof(SqlDecimal),typeof(Decimal)),
new SqlTypeConversionHolder("nvarchar", typeof(SqlChars),typeof(String)),
new SqlTypeConversionHolder("nvarchar(1)", typeof(SqlChars),typeof(Char)),
new SqlTypeConversionHolder("nchar(1)", typeof(SqlChars),typeof(Char)),
new SqlTypeConversionHolder("real", typeof(SqlSingle),typeof(Single)),
new SqlTypeConversionHolder("rowversion", null,typeof(Byte[])),
new SqlTypeConversionHolder("smallint", typeof(SqlInt16),typeof(Int16)),
new SqlTypeConversionHolder("smallmoney", typeof(SqlMoney),typeof(Decimal)),
new SqlTypeConversionHolder("sql_variant", null,typeof(Object)),
new SqlTypeConversionHolder("table", null,null),
new SqlTypeConversionHolder("text", typeof(SqlString),typeof(string)), //this one may need work
new SqlTypeConversionHolder("time", null,typeof(TimeSpan)),
new SqlTypeConversionHolder("timestamp", null,null),
new SqlTypeConversionHolder("tinyint", typeof(SqlByte),typeof(Byte)),
new SqlTypeConversionHolder("uniqueidentifier", typeof(SqlGuid),typeof(Guid)),
new SqlTypeConversionHolder("varbinary", typeof(SqlBytes),typeof(Byte[])),
new SqlTypeConversionHolder("varbinary(1)", typeof(SqlBytes),typeof(byte)),
new SqlTypeConversionHolder("binary(1)", typeof(SqlBytes),typeof(byte)),
new SqlTypeConversionHolder("varchar", typeof(SqlString),typeof(string)), //this one may need work
new SqlTypeConversionHolder("xml", typeof(SqlXml),typeof(string))
};
bir SqlTypeConversionHolder
ilk parametresi adıdır sql sunucu türü. İkinci parametre .Net Sql türüdür. Üçüncü, .net türüdür.
This one may need work
dediklerimiz, emin olmadıklarımdır. Birisi doğru dönüşümlerin ne olacağı konusunda biraz yardım sağlayabilir mi? MSDN'ye bakıldığında, uygun bir dönüşüm türüne sahip değil gibi görünüyor. Bunu inanmak zor buluyorum. SQL Server türünden .NET türüne gitmenin bir yolu olmalı.
+1 goooood catch! – Jordan