Beispiel #1
0
 static SystemTypeConverter()
 {
     dbTypes = new Lazy <TupleHashSet <Type, DbType> >(() =>
     {
         var hashSet = new TupleHashSet <Type, DbType>();
         hashSet.Add(typeof(Boolean), DbType.Boolean);
         hashSet.Add(typeof(Byte), DbType.Byte);
         hashSet.Add(typeof(Char), DbType.StringFixedLength);
         hashSet.Add(typeof(Int16), DbType.Int16);
         hashSet.Add(typeof(Int32), DbType.Int32);
         hashSet.Add(typeof(Int64), DbType.Int64);
         hashSet.Add(typeof(Decimal), DbType.Decimal);
         hashSet.Add(typeof(Double), DbType.Double);
         hashSet.Add(typeof(DateTime), DbType.DateTime);
         hashSet.Add(typeof(DateTimeOffset), DbType.DateTimeOffset);
         hashSet.Add(typeof(Guid), DbType.Guid);
         hashSet.Add(typeof(Single), DbType.Single);
         hashSet.Add(typeof(String), DbType.String);
         hashSet.Add(typeof(SByte), DbType.SByte);
         hashSet.Add(typeof(TimeSpan), DbType.Time);
         hashSet.Add(typeof(UInt16), DbType.UInt16);
         hashSet.Add(typeof(UInt32), DbType.UInt32);
         hashSet.Add(typeof(UInt64), DbType.UInt64);
         hashSet.Add(typeof(Uri), DbType.String);
         return(hashSet);
     });
     sqlDbTypes = new Lazy <TupleHashSet <Type, SqlDbType> >(() =>
     {
         var hashSet = new TupleHashSet <Type, SqlDbType>();
         hashSet.Add(typeof(Boolean), SqlDbType.Bit);
         hashSet.Add(typeof(Byte), SqlDbType.TinyInt);
         hashSet.Add(typeof(Char), SqlDbType.NChar);
         hashSet.Add(typeof(Int16), SqlDbType.SmallInt);
         hashSet.Add(typeof(Int32), SqlDbType.Int);
         hashSet.Add(typeof(Int64), SqlDbType.BigInt);
         hashSet.Add(typeof(Decimal), SqlDbType.Decimal);
         hashSet.Add(typeof(Double), SqlDbType.Float);
         hashSet.Add(typeof(DateTime), SqlDbType.DateTime);
         hashSet.Add(typeof(DateTimeOffset), SqlDbType.DateTimeOffset);
         hashSet.Add(typeof(Guid), SqlDbType.UniqueIdentifier);
         hashSet.Add(typeof(Single), SqlDbType.Real);
         hashSet.Add(typeof(String), SqlDbType.NVarChar);
         hashSet.Add(typeof(SByte), SqlDbType.TinyInt);
         hashSet.Add(typeof(TimeSpan), SqlDbType.Time);
         hashSet.Add(typeof(UInt16), SqlDbType.SmallInt);
         hashSet.Add(typeof(UInt32), SqlDbType.Int);
         hashSet.Add(typeof(UInt64), SqlDbType.BigInt);
         hashSet.Add(typeof(Uri), SqlDbType.NVarChar);
         return(hashSet);
     });
 }
 static SqlDbTypeConverter()
 {
     netTypes = new Lazy <TupleHashSet <SqlDbType, Type> >(() =>
     {
         var hashSet = new TupleHashSet <SqlDbType, Type>();
         hashSet.Add(SqlDbType.BigInt, typeof(Int64));
         hashSet.Add(SqlDbType.Binary, typeof(Byte[]));
         hashSet.Add(SqlDbType.Bit, typeof(Boolean));
         hashSet.Add(SqlDbType.Char, typeof(String));
         hashSet.Add(SqlDbType.Date, typeof(DateTime));
         hashSet.Add(SqlDbType.DateTime, typeof(DateTime));
         hashSet.Add(SqlDbType.DateTime2, typeof(DateTime));
         hashSet.Add(SqlDbType.DateTimeOffset, typeof(DateTimeOffset));
         hashSet.Add(SqlDbType.Decimal, typeof(Decimal));
         hashSet.Add(SqlDbType.Float, typeof(Double));
         hashSet.Add(SqlDbType.Int, typeof(Int32));
         hashSet.Add(SqlDbType.Money, typeof(Decimal));
         hashSet.Add(SqlDbType.NChar, typeof(String));
         hashSet.Add(SqlDbType.NText, typeof(String));
         hashSet.Add(SqlDbType.NVarChar, typeof(String));
         hashSet.Add(SqlDbType.Real, typeof(Single));
         hashSet.Add(SqlDbType.SmallDateTime, typeof(DateTime));
         hashSet.Add(SqlDbType.SmallInt, typeof(Int16));
         hashSet.Add(SqlDbType.SmallMoney, typeof(Decimal));
         hashSet.Add(SqlDbType.Structured, typeof(Object));
         hashSet.Add(SqlDbType.Text, typeof(String));
         hashSet.Add(SqlDbType.Time, typeof(TimeSpan));
         hashSet.Add(SqlDbType.Timestamp, typeof(Byte[]));
         hashSet.Add(SqlDbType.TinyInt, typeof(Byte));
         hashSet.Add(SqlDbType.Udt, typeof(Object));
         hashSet.Add(SqlDbType.UniqueIdentifier, typeof(Guid));
         hashSet.Add(SqlDbType.VarBinary, typeof(Byte[]));
         hashSet.Add(SqlDbType.VarChar, typeof(String));
         hashSet.Add(SqlDbType.Variant, typeof(Object));
         hashSet.Add(SqlDbType.Xml, typeof(SqlXml));
         return(hashSet);
     });
     dbTypes = new Lazy <TupleHashSet <SqlDbType, DbType> >(() =>
     {
         var hashSet = new TupleHashSet <SqlDbType, DbType>();
         hashSet.Add(SqlDbType.BigInt, DbType.Int64);
         hashSet.Add(SqlDbType.Binary, DbType.Binary);
         hashSet.Add(SqlDbType.Bit, DbType.Boolean);
         hashSet.Add(SqlDbType.Char, DbType.StringFixedLength);
         hashSet.Add(SqlDbType.Date, DbType.Date);
         hashSet.Add(SqlDbType.DateTime, DbType.DateTime);
         hashSet.Add(SqlDbType.DateTime2, DbType.DateTime2);
         hashSet.Add(SqlDbType.DateTimeOffset, DbType.DateTimeOffset);
         hashSet.Add(SqlDbType.Decimal, DbType.Decimal);
         hashSet.Add(SqlDbType.Float, DbType.Double);
         hashSet.Add(SqlDbType.Int, DbType.Int32);
         hashSet.Add(SqlDbType.Money, DbType.Currency);
         hashSet.Add(SqlDbType.NChar, DbType.String);
         hashSet.Add(SqlDbType.NText, DbType.String);
         hashSet.Add(SqlDbType.NVarChar, DbType.String);
         hashSet.Add(SqlDbType.Real, DbType.Single);
         hashSet.Add(SqlDbType.SmallDateTime, DbType.DateTime);
         hashSet.Add(SqlDbType.SmallInt, DbType.Int16);
         hashSet.Add(SqlDbType.SmallMoney, DbType.Currency);
         hashSet.Add(SqlDbType.Structured, DbType.Object);
         hashSet.Add(SqlDbType.Text, DbType.String);
         hashSet.Add(SqlDbType.Time, DbType.Time);
         hashSet.Add(SqlDbType.Timestamp, DbType.Binary);
         hashSet.Add(SqlDbType.TinyInt, DbType.Byte);
         hashSet.Add(SqlDbType.Udt, DbType.Object);
         hashSet.Add(SqlDbType.UniqueIdentifier, DbType.Guid);
         hashSet.Add(SqlDbType.VarBinary, DbType.Binary);
         hashSet.Add(SqlDbType.VarChar, DbType.String);
         hashSet.Add(SqlDbType.Variant, DbType.Object);
         hashSet.Add(SqlDbType.Xml, DbType.Xml);
         return(hashSet);
     });
 }
Beispiel #3
0
 static DbTypeConverter()
 {
     netTypes = new Lazy <TupleHashSet <DbType, Type> >(() =>
     {
         var hashSet = new TupleHashSet <DbType, Type>();
         hashSet.Add(DbType.AnsiString, typeof(String));
         hashSet.Add(DbType.AnsiStringFixedLength, typeof(Char));
         hashSet.Add(DbType.Binary, typeof(Byte[]));
         hashSet.Add(DbType.Boolean, typeof(Boolean));
         hashSet.Add(DbType.Byte, typeof(Byte));
         hashSet.Add(DbType.Currency, typeof(Decimal));
         hashSet.Add(DbType.Date, typeof(DateTime));
         hashSet.Add(DbType.DateTime, typeof(DateTime));
         hashSet.Add(DbType.DateTime2, typeof(DateTime));
         hashSet.Add(DbType.DateTimeOffset, typeof(DateTimeOffset));
         hashSet.Add(DbType.Decimal, typeof(Decimal));
         hashSet.Add(DbType.Double, typeof(Double));
         hashSet.Add(DbType.Guid, typeof(Guid));
         hashSet.Add(DbType.Int16, typeof(Int16));
         hashSet.Add(DbType.Int32, typeof(Int32));
         hashSet.Add(DbType.Int64, typeof(Int64));
         hashSet.Add(DbType.Object, typeof(Object));
         hashSet.Add(DbType.SByte, typeof(SByte));
         hashSet.Add(DbType.Single, typeof(Single));
         hashSet.Add(DbType.String, typeof(String));
         hashSet.Add(DbType.StringFixedLength, typeof(Char));
         hashSet.Add(DbType.Time, typeof(TimeSpan));
         hashSet.Add(DbType.UInt16, typeof(UInt16));
         hashSet.Add(DbType.UInt32, typeof(UInt32));
         hashSet.Add(DbType.UInt64, typeof(UInt64));
         hashSet.Add(DbType.VarNumeric, typeof(Int32));
         hashSet.Add(DbType.Xml, typeof(SqlXml));
         return(hashSet);
     });
     sqlDbTypes = new Lazy <TupleHashSet <DbType, SqlDbType> >(() =>
     {
         var hashSet = new TupleHashSet <DbType, SqlDbType>();
         hashSet.Add(DbType.AnsiString, SqlDbType.VarChar);
         hashSet.Add(DbType.AnsiStringFixedLength, SqlDbType.Char);
         hashSet.Add(DbType.Binary, SqlDbType.Binary);
         hashSet.Add(DbType.Boolean, SqlDbType.Bit);
         hashSet.Add(DbType.Byte, SqlDbType.TinyInt);
         hashSet.Add(DbType.Currency, SqlDbType.Money);
         hashSet.Add(DbType.Date, SqlDbType.Date);
         hashSet.Add(DbType.DateTime, SqlDbType.DateTime);
         hashSet.Add(DbType.DateTime2, SqlDbType.DateTime2);
         hashSet.Add(DbType.DateTimeOffset, SqlDbType.DateTimeOffset);
         hashSet.Add(DbType.Decimal, SqlDbType.Decimal);
         hashSet.Add(DbType.Double, SqlDbType.Float);
         hashSet.Add(DbType.Guid, SqlDbType.UniqueIdentifier);
         hashSet.Add(DbType.Int16, SqlDbType.SmallInt);
         hashSet.Add(DbType.Int32, SqlDbType.Int);
         hashSet.Add(DbType.Int64, SqlDbType.BigInt);
         hashSet.Add(DbType.Object, SqlDbType.Variant);
         hashSet.Add(DbType.SByte, SqlDbType.TinyInt);
         hashSet.Add(DbType.Single, SqlDbType.Real);
         hashSet.Add(DbType.String, SqlDbType.NVarChar);
         hashSet.Add(DbType.StringFixedLength, SqlDbType.NChar);
         hashSet.Add(DbType.Time, SqlDbType.Time);
         hashSet.Add(DbType.UInt16, SqlDbType.SmallInt);
         hashSet.Add(DbType.UInt32, SqlDbType.Int);
         hashSet.Add(DbType.UInt64, SqlDbType.BigInt);
         hashSet.Add(DbType.VarNumeric, SqlDbType.Int);
         hashSet.Add(DbType.Xml, SqlDbType.Xml);
         return(hashSet);
     });
 }
Beispiel #4
0
 static MySqlDbTypeConverter()
 {
     netTypes = new Lazy <TupleHashSet <MySqlDbType, Type> >(() =>
     {
         var hashSet = new TupleHashSet <MySqlDbType, Type>();
         hashSet.Add(MySqlDbType.Binary, typeof(byte[]));
         hashSet.Add(MySqlDbType.Bit, typeof(long)); // If length is 1, then should be "bool"
         hashSet.Add(MySqlDbType.Blob, typeof(object));
         hashSet.Add(MySqlDbType.Byte, typeof(sbyte));
         hashSet.Add(MySqlDbType.Date, typeof(DateTime));
         hashSet.Add(MySqlDbType.Datetime, typeof(DateTime));
         hashSet.Add(MySqlDbType.DateTime, typeof(DateTime));
         hashSet.Add(MySqlDbType.Decimal, typeof(decimal));
         hashSet.Add(MySqlDbType.Double, typeof(double));
         hashSet.Add(MySqlDbType.Enum, typeof(object));
         hashSet.Add(MySqlDbType.Float, typeof(float));
         hashSet.Add(MySqlDbType.Geometry, typeof(DbGeometry));
         hashSet.Add(MySqlDbType.Guid, typeof(Guid));
         hashSet.Add(MySqlDbType.Int16, typeof(short));
         hashSet.Add(MySqlDbType.Int24, typeof(int));
         hashSet.Add(MySqlDbType.Int32, typeof(int));
         hashSet.Add(MySqlDbType.Int64, typeof(long));
         hashSet.Add(MySqlDbType.JSON, typeof(string));
         hashSet.Add(MySqlDbType.LongBlob, typeof(object));
         hashSet.Add(MySqlDbType.LongText, typeof(string));
         hashSet.Add(MySqlDbType.MediumBlob, typeof(object));
         hashSet.Add(MySqlDbType.MediumText, typeof(string));
         hashSet.Add(MySqlDbType.Newdate, typeof(DateTime));
         hashSet.Add(MySqlDbType.NewDecimal, typeof(decimal));
         hashSet.Add(MySqlDbType.Set, typeof(object));
         hashSet.Add(MySqlDbType.String, typeof(string));
         hashSet.Add(MySqlDbType.Text, typeof(string));
         hashSet.Add(MySqlDbType.Time, typeof(TimeSpan));
         hashSet.Add(MySqlDbType.Timestamp, typeof(DateTime));
         hashSet.Add(MySqlDbType.TinyBlob, typeof(object));
         hashSet.Add(MySqlDbType.TinyText, typeof(string));
         hashSet.Add(MySqlDbType.UByte, typeof(byte));
         hashSet.Add(MySqlDbType.UInt16, typeof(ushort));
         hashSet.Add(MySqlDbType.UInt24, typeof(uint));
         hashSet.Add(MySqlDbType.UInt32, typeof(uint));
         hashSet.Add(MySqlDbType.UInt64, typeof(ulong));
         hashSet.Add(MySqlDbType.VarBinary, typeof(byte[]));
         hashSet.Add(MySqlDbType.VarChar, typeof(string));
         hashSet.Add(MySqlDbType.VarString, typeof(string));
         hashSet.Add(MySqlDbType.Year, typeof(short));
         return(hashSet);
     });
     dbTypes = new Lazy <TupleHashSet <MySqlDbType, DbType> >(() =>
     {
         var hashSet = new TupleHashSet <MySqlDbType, DbType>();
         hashSet.Add(MySqlDbType.Binary, DbType.Binary);
         hashSet.Add(MySqlDbType.Bit, DbType.Int64); // If length is 1, then should be "bool"
         hashSet.Add(MySqlDbType.Blob, DbType.Object);
         hashSet.Add(MySqlDbType.Byte, DbType.SByte);
         hashSet.Add(MySqlDbType.Date, DbType.DateTime);
         hashSet.Add(MySqlDbType.Datetime, DbType.DateTime);
         hashSet.Add(MySqlDbType.DateTime, DbType.DateTime);
         hashSet.Add(MySqlDbType.Decimal, DbType.Decimal);
         hashSet.Add(MySqlDbType.Double, DbType.Double);
         hashSet.Add(MySqlDbType.Enum, DbType.Object);
         hashSet.Add(MySqlDbType.Float, DbType.Single);
         hashSet.Add(MySqlDbType.Geometry, DbType.Object);
         hashSet.Add(MySqlDbType.Guid, DbType.Guid);
         hashSet.Add(MySqlDbType.Int16, DbType.Int16);
         hashSet.Add(MySqlDbType.Int24, DbType.Int32);
         hashSet.Add(MySqlDbType.Int32, DbType.Int32);
         hashSet.Add(MySqlDbType.Int64, DbType.Int64);
         hashSet.Add(MySqlDbType.JSON, DbType.String);
         hashSet.Add(MySqlDbType.LongBlob, DbType.Object);
         hashSet.Add(MySqlDbType.LongText, DbType.String);
         hashSet.Add(MySqlDbType.MediumBlob, DbType.Object);
         hashSet.Add(MySqlDbType.MediumText, DbType.String);
         hashSet.Add(MySqlDbType.Newdate, DbType.DateTime);
         hashSet.Add(MySqlDbType.NewDecimal, DbType.Decimal);
         hashSet.Add(MySqlDbType.Set, DbType.Object);
         hashSet.Add(MySqlDbType.String, DbType.String);
         hashSet.Add(MySqlDbType.Text, DbType.String);
         hashSet.Add(MySqlDbType.Time, DbType.Time);
         hashSet.Add(MySqlDbType.Timestamp, DbType.DateTime);
         hashSet.Add(MySqlDbType.TinyBlob, DbType.Object);
         hashSet.Add(MySqlDbType.TinyText, DbType.String);
         hashSet.Add(MySqlDbType.UByte, DbType.Byte);
         hashSet.Add(MySqlDbType.UInt16, DbType.UInt16);
         hashSet.Add(MySqlDbType.UInt24, DbType.UInt32);
         hashSet.Add(MySqlDbType.UInt32, DbType.UInt32);
         hashSet.Add(MySqlDbType.UInt64, DbType.UInt64);
         hashSet.Add(MySqlDbType.VarBinary, DbType.Binary);
         hashSet.Add(MySqlDbType.VarChar, DbType.String);
         hashSet.Add(MySqlDbType.VarString, DbType.String);
         hashSet.Add(MySqlDbType.Year, DbType.Int16);
         return(hashSet);
     });
     oleDbTypes = new Lazy <TupleHashSet <MySqlDbType, OleDbType> >(() =>
     {
         var hashSet = new TupleHashSet <MySqlDbType, OleDbType>();
         hashSet.Add(MySqlDbType.Binary, OleDbType.Binary);
         hashSet.Add(MySqlDbType.Bit, OleDbType.BigInt); // If length is 1, then should be "bool"
         hashSet.Add(MySqlDbType.Blob, OleDbType.Binary);
         hashSet.Add(MySqlDbType.Byte, OleDbType.TinyInt);
         hashSet.Add(MySqlDbType.Date, OleDbType.Date);
         hashSet.Add(MySqlDbType.Datetime, OleDbType.DBTimeStamp);
         hashSet.Add(MySqlDbType.DateTime, OleDbType.DBTimeStamp);
         hashSet.Add(MySqlDbType.Decimal, OleDbType.Decimal);
         hashSet.Add(MySqlDbType.Double, OleDbType.Double);
         hashSet.Add(MySqlDbType.Enum, OleDbType.Variant);
         hashSet.Add(MySqlDbType.Float, OleDbType.Single);
         hashSet.Add(MySqlDbType.Geometry, OleDbType.Variant);
         hashSet.Add(MySqlDbType.Guid, OleDbType.Guid);
         hashSet.Add(MySqlDbType.Int16, OleDbType.SmallInt);
         hashSet.Add(MySqlDbType.Int24, OleDbType.Integer);
         hashSet.Add(MySqlDbType.Int32, OleDbType.Integer);
         hashSet.Add(MySqlDbType.Int64, OleDbType.BigInt);
         hashSet.Add(MySqlDbType.JSON, OleDbType.VarWChar);
         hashSet.Add(MySqlDbType.LongBlob, OleDbType.Variant);
         hashSet.Add(MySqlDbType.LongText, OleDbType.VarWChar);
         hashSet.Add(MySqlDbType.MediumBlob, OleDbType.Variant);
         hashSet.Add(MySqlDbType.MediumText, OleDbType.VarWChar);
         hashSet.Add(MySqlDbType.Newdate, OleDbType.DBTimeStamp);
         hashSet.Add(MySqlDbType.NewDecimal, OleDbType.Decimal);
         hashSet.Add(MySqlDbType.Set, OleDbType.Variant);
         hashSet.Add(MySqlDbType.String, OleDbType.VarWChar);
         hashSet.Add(MySqlDbType.Text, OleDbType.VarWChar);
         hashSet.Add(MySqlDbType.Time, OleDbType.DBTime);
         hashSet.Add(MySqlDbType.Timestamp, OleDbType.DBTimeStamp);
         hashSet.Add(MySqlDbType.TinyBlob, OleDbType.Variant);
         hashSet.Add(MySqlDbType.TinyText, OleDbType.VarWChar);
         hashSet.Add(MySqlDbType.UByte, OleDbType.UnsignedTinyInt);
         hashSet.Add(MySqlDbType.UInt16, OleDbType.UnsignedSmallInt);
         hashSet.Add(MySqlDbType.UInt24, OleDbType.UnsignedInt);
         hashSet.Add(MySqlDbType.UInt32, OleDbType.UnsignedInt);
         hashSet.Add(MySqlDbType.UInt64, OleDbType.UnsignedBigInt);
         hashSet.Add(MySqlDbType.VarBinary, OleDbType.Binary);
         hashSet.Add(MySqlDbType.VarChar, OleDbType.VarWChar);
         hashSet.Add(MySqlDbType.VarString, OleDbType.VarWChar);
         hashSet.Add(MySqlDbType.Year, OleDbType.SmallInt);
         return(hashSet);
     });
     sqlDbTypes = new Lazy <TupleHashSet <MySqlDbType, SqlDbType> >(() =>
     {
         var hashSet = new TupleHashSet <MySqlDbType, SqlDbType>();
         hashSet.Add(MySqlDbType.Binary, SqlDbType.Binary);
         hashSet.Add(MySqlDbType.Bit, SqlDbType.BigInt); // If length is 1, then should be "bool"
         hashSet.Add(MySqlDbType.Blob, SqlDbType.Binary);
         hashSet.Add(MySqlDbType.Byte, SqlDbType.TinyInt);
         hashSet.Add(MySqlDbType.Date, SqlDbType.Date);
         hashSet.Add(MySqlDbType.Datetime, SqlDbType.DateTime);
         hashSet.Add(MySqlDbType.DateTime, SqlDbType.DateTime);
         hashSet.Add(MySqlDbType.Decimal, SqlDbType.Decimal);
         hashSet.Add(MySqlDbType.Double, SqlDbType.Float);
         hashSet.Add(MySqlDbType.Enum, SqlDbType.Variant);
         hashSet.Add(MySqlDbType.Float, SqlDbType.Real);
         hashSet.Add(MySqlDbType.Geometry, SqlDbType.Variant);
         hashSet.Add(MySqlDbType.Guid, SqlDbType.UniqueIdentifier);
         hashSet.Add(MySqlDbType.Int16, SqlDbType.SmallInt);
         hashSet.Add(MySqlDbType.Int24, SqlDbType.Int);
         hashSet.Add(MySqlDbType.Int32, SqlDbType.Int);
         hashSet.Add(MySqlDbType.Int64, SqlDbType.BigInt);
         hashSet.Add(MySqlDbType.JSON, SqlDbType.NVarChar);
         hashSet.Add(MySqlDbType.LongBlob, SqlDbType.Variant);
         hashSet.Add(MySqlDbType.LongText, SqlDbType.NVarChar);
         hashSet.Add(MySqlDbType.MediumBlob, SqlDbType.Variant);
         hashSet.Add(MySqlDbType.MediumText, SqlDbType.NVarChar);
         hashSet.Add(MySqlDbType.Newdate, SqlDbType.DateTime);
         hashSet.Add(MySqlDbType.NewDecimal, SqlDbType.Decimal);
         hashSet.Add(MySqlDbType.Set, SqlDbType.Variant);
         hashSet.Add(MySqlDbType.String, SqlDbType.NVarChar);
         hashSet.Add(MySqlDbType.Text, SqlDbType.NVarChar);
         hashSet.Add(MySqlDbType.Time, SqlDbType.Time);
         hashSet.Add(MySqlDbType.Timestamp, SqlDbType.Timestamp);
         hashSet.Add(MySqlDbType.TinyBlob, SqlDbType.Variant);
         hashSet.Add(MySqlDbType.TinyText, SqlDbType.NVarChar);
         hashSet.Add(MySqlDbType.UByte, SqlDbType.TinyInt);
         hashSet.Add(MySqlDbType.UInt16, SqlDbType.SmallInt);
         hashSet.Add(MySqlDbType.UInt24, SqlDbType.Int);
         hashSet.Add(MySqlDbType.UInt32, SqlDbType.Int);
         hashSet.Add(MySqlDbType.UInt64, SqlDbType.BigInt);
         hashSet.Add(MySqlDbType.VarBinary, SqlDbType.Binary);
         hashSet.Add(MySqlDbType.VarChar, SqlDbType.NVarChar);
         hashSet.Add(MySqlDbType.VarString, SqlDbType.NVarChar);
         hashSet.Add(MySqlDbType.Year, SqlDbType.SmallInt);
         return(hashSet);
     });
 }
Beispiel #5
0
 static OleDbTypeConverter()
 {
     netTypes = new Lazy <TupleHashSet <OleDbType, Type> >(() =>
     {
         var hashSet = new TupleHashSet <OleDbType, Type>();
         hashSet.Add(OleDbType.BigInt, typeof(Int64));
         hashSet.Add(OleDbType.Binary, typeof(Byte[]));
         hashSet.Add(OleDbType.Boolean, typeof(Boolean));
         hashSet.Add(OleDbType.BSTR, typeof(String));
         hashSet.Add(OleDbType.Char, typeof(String));
         hashSet.Add(OleDbType.Currency, typeof(Decimal));
         hashSet.Add(OleDbType.Date, typeof(DateTime));
         hashSet.Add(OleDbType.DBDate, typeof(DateTime));
         hashSet.Add(OleDbType.DBTime, typeof(TimeSpan));
         hashSet.Add(OleDbType.DBTimeStamp, typeof(DateTime));
         hashSet.Add(OleDbType.Decimal, typeof(Decimal));
         hashSet.Add(OleDbType.Double, typeof(Double));
         hashSet.Add(OleDbType.Empty, null);
         hashSet.Add(OleDbType.Error, typeof(Exception));
         hashSet.Add(OleDbType.Filetime, typeof(DateTime));
         hashSet.Add(OleDbType.Guid, typeof(Guid));
         hashSet.Add(OleDbType.IDispatch, typeof(Object));
         hashSet.Add(OleDbType.Integer, typeof(Int32));
         hashSet.Add(OleDbType.IUnknown, typeof(Object));
         hashSet.Add(OleDbType.LongVarBinary, typeof(Byte[]));
         hashSet.Add(OleDbType.LongVarChar, typeof(String));
         hashSet.Add(OleDbType.LongVarWChar, typeof(String));
         hashSet.Add(OleDbType.Numeric, typeof(Decimal));
         hashSet.Add(OleDbType.PropVariant, typeof(Object));
         hashSet.Add(OleDbType.Single, typeof(Single));
         hashSet.Add(OleDbType.SmallInt, typeof(Int16));
         hashSet.Add(OleDbType.TinyInt, typeof(SByte));
         hashSet.Add(OleDbType.UnsignedBigInt, typeof(UInt64));
         hashSet.Add(OleDbType.UnsignedInt, typeof(UInt32));
         hashSet.Add(OleDbType.UnsignedSmallInt, typeof(UInt16));
         hashSet.Add(OleDbType.UnsignedTinyInt, typeof(Byte));
         hashSet.Add(OleDbType.VarBinary, typeof(Byte[]));
         hashSet.Add(OleDbType.VarChar, typeof(String));
         hashSet.Add(OleDbType.Variant, typeof(Object));
         hashSet.Add(OleDbType.VarNumeric, typeof(Decimal));
         hashSet.Add(OleDbType.VarWChar, typeof(String));
         hashSet.Add(OleDbType.WChar, typeof(String));
         return(hashSet);
     });
     sqlDbTypes = new Lazy <TupleHashSet <OleDbType, SqlDbType> >(() =>
     {
         var hashSet = new TupleHashSet <OleDbType, SqlDbType>();
         hashSet.Add(OleDbType.BigInt, SqlDbType.BigInt);
         hashSet.Add(OleDbType.Binary, SqlDbType.Binary);
         hashSet.Add(OleDbType.Boolean, SqlDbType.Bit);
         hashSet.Add(OleDbType.BSTR, SqlDbType.NVarChar);
         hashSet.Add(OleDbType.Char, SqlDbType.VarChar);
         hashSet.Add(OleDbType.Currency, SqlDbType.Money);
         hashSet.Add(OleDbType.Date, SqlDbType.Date);
         hashSet.Add(OleDbType.DBDate, SqlDbType.Date);
         hashSet.Add(OleDbType.DBTime, SqlDbType.Time);
         hashSet.Add(OleDbType.DBTimeStamp, SqlDbType.DateTime);
         hashSet.Add(OleDbType.Decimal, SqlDbType.Decimal);
         hashSet.Add(OleDbType.Double, SqlDbType.Float);
         hashSet.Add(OleDbType.Empty, SqlDbType.Variant); //correct?
         hashSet.Add(OleDbType.Error, SqlDbType.Variant); //correct?
         hashSet.Add(OleDbType.Filetime, SqlDbType.VarChar);
         hashSet.Add(OleDbType.Guid, SqlDbType.UniqueIdentifier);
         hashSet.Add(OleDbType.IDispatch, SqlDbType.Variant);
         hashSet.Add(OleDbType.Integer, SqlDbType.Int);
         hashSet.Add(OleDbType.IUnknown, SqlDbType.Variant);
         hashSet.Add(OleDbType.LongVarBinary, SqlDbType.VarBinary);
         hashSet.Add(OleDbType.LongVarChar, SqlDbType.VarChar);
         hashSet.Add(OleDbType.LongVarWChar, SqlDbType.NVarChar);
         hashSet.Add(OleDbType.Numeric, SqlDbType.Decimal);
         hashSet.Add(OleDbType.PropVariant, SqlDbType.Variant);
         hashSet.Add(OleDbType.Single, SqlDbType.Float);
         hashSet.Add(OleDbType.SmallInt, SqlDbType.SmallInt);
         hashSet.Add(OleDbType.TinyInt, SqlDbType.TinyInt);           //cannot map exactly
         hashSet.Add(OleDbType.UnsignedBigInt, SqlDbType.BigInt);     //cannot map exactly
         hashSet.Add(OleDbType.UnsignedInt, SqlDbType.Int);           //cannot map exactly
         hashSet.Add(OleDbType.UnsignedSmallInt, SqlDbType.SmallInt); //cannot map exactly
         hashSet.Add(OleDbType.UnsignedTinyInt, SqlDbType.TinyInt);
         hashSet.Add(OleDbType.VarBinary, SqlDbType.VarBinary);
         hashSet.Add(OleDbType.VarChar, SqlDbType.VarChar);
         hashSet.Add(OleDbType.Variant, SqlDbType.Variant);
         hashSet.Add(OleDbType.VarNumeric, SqlDbType.Decimal);
         hashSet.Add(OleDbType.VarWChar, SqlDbType.NVarChar);
         hashSet.Add(OleDbType.WChar, SqlDbType.NVarChar);
         return(hashSet);
     });
     dbTypes = new Lazy <TupleHashSet <OleDbType, DbType> >(() =>
     {
         var hashSet = new TupleHashSet <OleDbType, DbType>();
         hashSet.Add(OleDbType.BigInt, DbType.Int64);
         hashSet.Add(OleDbType.Binary, DbType.Binary);
         hashSet.Add(OleDbType.Boolean, DbType.Boolean);
         hashSet.Add(OleDbType.BSTR, DbType.String);
         hashSet.Add(OleDbType.Char, DbType.String);
         hashSet.Add(OleDbType.Currency, DbType.Currency);
         hashSet.Add(OleDbType.Date, DbType.Date);
         hashSet.Add(OleDbType.DBDate, DbType.Date);
         hashSet.Add(OleDbType.DBTime, DbType.Time);
         hashSet.Add(OleDbType.DBTimeStamp, DbType.DateTime);
         hashSet.Add(OleDbType.Decimal, DbType.Decimal);
         hashSet.Add(OleDbType.Double, DbType.Double);
         hashSet.Add(OleDbType.Empty, DbType.Object); //correct?
         hashSet.Add(OleDbType.Error, DbType.Object); //correct?
         hashSet.Add(OleDbType.Filetime, DbType.UInt64);
         hashSet.Add(OleDbType.Guid, DbType.Guid);
         hashSet.Add(OleDbType.IDispatch, DbType.Object);
         hashSet.Add(OleDbType.Integer, DbType.Int32);
         hashSet.Add(OleDbType.IUnknown, DbType.Object);
         hashSet.Add(OleDbType.LongVarBinary, DbType.Binary);
         hashSet.Add(OleDbType.LongVarChar, DbType.String);
         hashSet.Add(OleDbType.LongVarWChar, DbType.String);
         hashSet.Add(OleDbType.Numeric, DbType.Decimal);
         hashSet.Add(OleDbType.PropVariant, DbType.Object);
         hashSet.Add(OleDbType.Single, DbType.Single);
         hashSet.Add(OleDbType.SmallInt, DbType.Int16);
         hashSet.Add(OleDbType.TinyInt, DbType.SByte);
         hashSet.Add(OleDbType.UnsignedBigInt, DbType.UInt64);
         hashSet.Add(OleDbType.UnsignedInt, DbType.UInt32);
         hashSet.Add(OleDbType.UnsignedSmallInt, DbType.UInt16);
         hashSet.Add(OleDbType.UnsignedTinyInt, DbType.Byte);
         hashSet.Add(OleDbType.VarBinary, DbType.Binary);
         hashSet.Add(OleDbType.VarChar, DbType.String);
         hashSet.Add(OleDbType.Variant, DbType.Object);
         hashSet.Add(OleDbType.VarNumeric, DbType.VarNumeric);
         hashSet.Add(OleDbType.VarWChar, DbType.String);
         hashSet.Add(OleDbType.WChar, DbType.String);
         return(hashSet);
     });
 }