From b3cda7fa66623626abf78d5f53a27f455d130a27 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 19 Feb 2023 14:29:51 +0800 Subject: [PATCH] Update Queryable.ToDictionaryAsync --- .../Abstract/QueryableProvider/QueryableExecuteSql.cs | 4 ++++ .../Abstract/QueryableProvider/QueryableExecuteSqlAsync.cs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs index a99582041..450d5706f 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSql.cs @@ -398,6 +398,10 @@ namespace SqlSugar public Dictionary ToDictionary(Expression> key, Expression> value) { + if (this.QueryBuilder.IsSingle() == false && (this.QueryBuilder.AsTables == null||this.QueryBuilder.AsTables.Count==0)) + { + return this.MergeTable().ToDictionary(key,value); + } this.QueryBuilder.ResultType = typeof(SugarCacheDictionary); var keyName = QueryBuilder.GetExpressionValue(key, ResolveExpressType.FieldSingle).GetResultString(); var valueName = QueryBuilder.GetExpressionValue(value, ResolveExpressType.FieldSingle).GetResultString(); diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSqlAsync.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSqlAsync.cs index 9beb9739c..a585227c5 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSqlAsync.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableExecuteSqlAsync.cs @@ -485,6 +485,10 @@ ParameterT parameter) public async Task> ToDictionaryAsync(Expression> key, Expression> value) { + if (this.QueryBuilder.IsSingle() == false && (this.QueryBuilder.AsTables == null || this.QueryBuilder.AsTables.Count == 0)) + { + return await this.MergeTable().ToDictionaryAsync(key, value); + } this.QueryBuilder.ResultType = typeof(SugarCacheDictionary); var keyName = QueryBuilder.GetExpressionValue(key, ResolveExpressType.FieldSingle).GetResultString(); var valueName = QueryBuilder.GetExpressionValue(value, ResolveExpressType.FieldSingle).GetResultString();