mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 优化 IAdo.Query 方法,当传入带主键特性的实体时,防止主键列为 null 时导致整行记录也为 null;
This commit is contained in:
		@@ -2953,40 +2953,6 @@
 | 
			
		||||
            <param name="end"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSqlGlobalExpressionCall.Contains``2(System.Collections.Generic.IEnumerable{System.ValueTuple{``0,``1}},``0,``1)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            C#:从元组集合中查找 exp1, exp2 是否存在<para></para>
 | 
			
		||||
            SQL: <para></para>
 | 
			
		||||
            exp1 = that[0].Item1 and exp2 = that[0].Item2 OR <para></para>
 | 
			
		||||
            exp1 = that[1].Item1 and exp2 = that[1].Item2 OR <para></para>
 | 
			
		||||
            ... <para></para>
 | 
			
		||||
            注意:当 that 为 null 或 empty 时,返回 1=0
 | 
			
		||||
            </summary>
 | 
			
		||||
            <typeparam name="T1"></typeparam>
 | 
			
		||||
            <typeparam name="T2"></typeparam>
 | 
			
		||||
            <param name="that"></param>
 | 
			
		||||
            <param name="exp1"></param>
 | 
			
		||||
            <param name="exp2"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSqlGlobalExpressionCall.Contains``3(System.Collections.Generic.IEnumerable{System.ValueTuple{``0,``1,``2}},``0,``1,``2)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            C#:从元组集合中查找 exp1, exp2, exp2 是否存在<para></para>
 | 
			
		||||
            SQL: <para></para>
 | 
			
		||||
            exp1 = that[0].Item1 and exp2 = that[0].Item2 and exp3 = that[0].Item3 OR <para></para>
 | 
			
		||||
            exp1 = that[1].Item1 and exp2 = that[1].Item2 and exp3 = that[1].Item3 OR <para></para>
 | 
			
		||||
            ... <para></para>
 | 
			
		||||
            注意:当 that 为 null 或 empty 时,返回 1=0
 | 
			
		||||
            </summary>
 | 
			
		||||
            <typeparam name="T1"></typeparam>
 | 
			
		||||
            <typeparam name="T2"></typeparam>
 | 
			
		||||
            <typeparam name="T3"></typeparam>
 | 
			
		||||
            <param name="that"></param>
 | 
			
		||||
            <param name="exp1"></param>
 | 
			
		||||
            <param name="exp2"></param>
 | 
			
		||||
            <param name="exp3"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSqlGlobalExtensions.Distance(System.Drawing.Point,System.Drawing.Point)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            测量两个经纬度的距离,返回单位:米
 | 
			
		||||
@@ -3251,3 +3217,49 @@
 | 
			
		||||
        </member>
 | 
			
		||||
    </members>
 | 
			
		||||
</doc>
 | 
			
		||||
<EFBFBD>完成(可能)被其他线程事务自动提交
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="handler">事务体 () => {}</param>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IFreeSql.Transaction(System.TimeSpan,System.Action)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            开启事务(不支持异步)
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="timeout">超时,未执行完成(可能)被其他线程事务自动提交</param>
 | 
			
		||||
            <param name="handler">事务体 () => {}</param>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IFreeSql.Transaction(System.Data.IsolationLevel,System.TimeSpan,System.Action)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            开启事务(不支持异步)
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="isolationLevel"></param>
 | 
			
		||||
            <param name="handler">事务体 () => {}</param>
 | 
			
		||||
            <param name="timeout">超时,未执行完成(可能)被其他线程事务自动提交</param>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IFreeSql.Ado">
 | 
			
		||||
            <summary>
 | 
			
		||||
            数据库访问对象
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IFreeSql.Aop">
 | 
			
		||||
            <summary>
 | 
			
		||||
            所有拦截方法都在这里
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IFreeSql.CodeFirst">
 | 
			
		||||
            <summary>
 | 
			
		||||
            CodeFirst 模式开发相关方法
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IFreeSql.DbFirst">
 | 
			
		||||
            <summary>
 | 
			
		||||
            DbFirst 模式开发相关方法
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="P:IFreeSql.GlobalFilter">
 | 
			
		||||
            <summary>
 | 
			
		||||
            全局过滤设置,可默认附加为 Select/Update/Delete 条件
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
    </members>
 | 
			
		||||
</doc>
 | 
			
		||||
 
 | 
			
		||||
@@ -105,7 +105,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            {
 | 
			
		||||
                if (indexes == null)
 | 
			
		||||
                {
 | 
			
		||||
                    var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                    var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                    var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                    for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                    {
 | 
			
		||||
@@ -148,7 +148,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 0:
 | 
			
		||||
                        if (indexes1 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -165,7 +165,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 1:
 | 
			
		||||
                        if (indexes2 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -216,7 +216,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 0:
 | 
			
		||||
                        if (indexes1 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -233,7 +233,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 1:
 | 
			
		||||
                        if (indexes2 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -250,7 +250,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 2:
 | 
			
		||||
                        if (indexes3 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -307,7 +307,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 0:
 | 
			
		||||
                        if (indexes1 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -324,7 +324,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 1:
 | 
			
		||||
                        if (indexes2 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -341,7 +341,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 2:
 | 
			
		||||
                        if (indexes3 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -358,7 +358,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 3:
 | 
			
		||||
                        if (indexes4 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -421,7 +421,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 0:
 | 
			
		||||
                        if (indexes1 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -438,7 +438,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 1:
 | 
			
		||||
                        if (indexes2 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -455,7 +455,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 2:
 | 
			
		||||
                        if (indexes3 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -472,7 +472,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 3:
 | 
			
		||||
                        if (indexes4 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -489,7 +489,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 4:
 | 
			
		||||
                        if (indexes5 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
            {
 | 
			
		||||
                if (indexes == null)
 | 
			
		||||
                {
 | 
			
		||||
                    var sbflag = new StringBuilder().Append("query");
 | 
			
		||||
                    var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                    var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                    for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                    {
 | 
			
		||||
@@ -75,7 +75,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 0:
 | 
			
		||||
                        if (indexes1 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -92,7 +92,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 1:
 | 
			
		||||
                        if (indexes2 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -144,7 +144,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 0:
 | 
			
		||||
                        if (indexes1 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -161,7 +161,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 1:
 | 
			
		||||
                        if (indexes2 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -178,7 +178,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 2:
 | 
			
		||||
                        if (indexes3 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -236,7 +236,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 0:
 | 
			
		||||
                        if (indexes1 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -253,7 +253,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 1:
 | 
			
		||||
                        if (indexes2 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -270,7 +270,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 2:
 | 
			
		||||
                        if (indexes3 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -287,7 +287,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 3:
 | 
			
		||||
                        if (indexes4 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -351,7 +351,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 0:
 | 
			
		||||
                        if (indexes1 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -368,7 +368,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 1:
 | 
			
		||||
                        if (indexes2 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -385,7 +385,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 2:
 | 
			
		||||
                        if (indexes3 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -402,7 +402,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 3:
 | 
			
		||||
                        if (indexes4 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
@@ -419,7 +419,7 @@ namespace FreeSql.Internal.CommonProvider
 | 
			
		||||
                    case 4:
 | 
			
		||||
                        if (indexes5 == null)
 | 
			
		||||
                        {
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("QueryAsync");
 | 
			
		||||
                            var sbflag = new StringBuilder().Append("adoQuery");
 | 
			
		||||
                            var dic = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase);
 | 
			
		||||
                            for (var a = 0; a < dr.FieldCount; a++)
 | 
			
		||||
                            {
 | 
			
		||||
 
 | 
			
		||||
@@ -1495,7 +1495,8 @@ namespace FreeSql.Internal
 | 
			
		||||
 | 
			
		||||
                                    //判断主键为空,则整个对象不读取
 | 
			
		||||
                                    //blockExp.Add(Expression.Assign(readpkvalExp, Expression.Call(rowExp, MethodDataReaderGetValue, dataIndexExp)));
 | 
			
		||||
                                    if (trycol?.Attribute.IsPrimary == true)
 | 
			
		||||
                                    if (flagStr.StartsWith("adoQuery") == false && //Ado.Query 的时候不作此判断
 | 
			
		||||
                                        trycol?.Attribute.IsPrimary == true) //若主键值为 null,则整行读取出来的对象为 null
 | 
			
		||||
                                    {
 | 
			
		||||
                                        ispkExp.Add(
 | 
			
		||||
                                            Expression.IfThen(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user