From 6f68a929507de2e1633c4cb6a8878cf37bbb51c3 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 7 Jun 2017 14:25:33 +0800 Subject: [PATCH] - --- .../DbBindProvider/IDataReaderEntityBuilder.cs | 3 ++- .../Abstract/DbBindProvider/IDataRecordExtensions.cs | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs b/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs index a57278681..e707a2181 100644 --- a/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs +++ b/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs @@ -51,6 +51,7 @@ namespace SqlSugar private static readonly MethodInfo getInt64 = typeof(IDataRecord).GetMethod("GetInt64", new Type[] { typeof(int) }); private static readonly MethodInfo getString = typeof(IDataRecord).GetMethod("GetString", new Type[] { typeof(int) }); private static readonly MethodInfo getEnum = typeof(IDataRecordExtensions).GetMethod("GetEnum"); + private static readonly MethodInfo getConvertString = typeof(IDataRecordExtensions).GetMethod("GetConvertString"); private static readonly MethodInfo getConvertFloat = typeof(IDataRecordExtensions).GetMethod("GetConvertFloat"); private static readonly MethodInfo getConvertBoolean = typeof(IDataRecordExtensions).GetMethod("GetConvertBoolean"); private static readonly MethodInfo getConvertByte = typeof(IDataRecordExtensions).GetMethod("GetConvertByte"); @@ -216,7 +217,7 @@ namespace SqlSugar break; } if (method == null&&bindPropertyType == PubConst.StringType) { - method = getString; + method = getConvertString; } if (method == null) method = getOtherNull.MakeGenericMethod(bindPropertyType); diff --git a/SqlSugar/Abstract/DbBindProvider/IDataRecordExtensions.cs b/SqlSugar/Abstract/DbBindProvider/IDataRecordExtensions.cs index 32e78b261..3eddf4895 100644 --- a/SqlSugar/Abstract/DbBindProvider/IDataRecordExtensions.cs +++ b/SqlSugar/Abstract/DbBindProvider/IDataRecordExtensions.cs @@ -118,6 +118,16 @@ namespace SqlSugar return reval; } + public static string GetConvertString(this IDataRecord dr, int i) + { + if (dr.IsDBNull(i)) + { + return null; + } + var reval =Convert.ToString(dr.GetValue(i)); + return reval; + } + public static Nullable GetOtherNull(this IDataReader dr, int i) where T : struct { if (dr.IsDBNull(i))