using System.Collections.Generic;
public static void Main()
var SqlDbTypeToDotNetType = new Dictionary<SqlDbType, Type>()
{ SqlDbType.BigInt, typeof(Int64) } ,
{ SqlDbType.VarBinary, typeof(Byte[]) },
{ SqlDbType.Bit, typeof(Boolean) },
{ SqlDbType.Char, typeof(String) },
{ SqlDbType.Date, typeof(DateTime) },
{ SqlDbType.DateTime, typeof(DateTime) },
{ SqlDbType.DateTime2, typeof(DateTime) },
{ SqlDbType.DateTimeOffset, typeof(DateTimeOffset) },
{ SqlDbType.Decimal, typeof(Decimal) },
{ SqlDbType.Float, typeof(Double) },
{ SqlDbType.Binary, typeof(Byte[]) },
{ SqlDbType.Int, typeof(Int32) },
{ SqlDbType.Money, typeof(Decimal) },
{ SqlDbType.NChar, typeof(String) },
{ SqlDbType.NText, typeof(String) },
{ SqlDbType.NVarChar, typeof(String) },
{ SqlDbType.Real, typeof(Single) },
{ SqlDbType.Timestamp, typeof(Byte[]) },
{ SqlDbType.SmallInt, typeof(Int16) },
{ SqlDbType.SmallMoney, typeof(Decimal) },
{ SqlDbType.Variant, typeof(Object) },
{ SqlDbType.Text, typeof(String) },
{ SqlDbType.Time, typeof(TimeSpan) },
{ SqlDbType.TinyInt, typeof(Byte) },
{ SqlDbType.UniqueIdentifier, typeof(Guid) },
{ SqlDbType.VarChar, typeof(String) },
{ SqlDbType.Xml, typeof(XmlDocument) }
foreach(var type in SqlDbTypeToDotNetType.Values)
Console.WriteLine(type.ToString() + " is a " + (type.IsValueType ? (" value type with default " + Activator.CreateInstance(type).ToString()) : " reference type and the default I'm defining is (empty string)"));