From 116442d0e79553bde1aefd3c17bff71c956c5df1 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 11 Jan 2019 21:42:42 +0800 Subject: [PATCH] WithCache ToDataTable bug --- Src/Asp.Net/SqlServerTest/Demos/1_Query.cs | 2 ++ Src/Asp.Net/SqlServerTest/Program.cs | 4 ++-- .../Abstract/QueryableProvider/QueryableProvider.cs | 11 ++++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs index 93c89c74c..49fa3a824 100644 --- a/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs +++ b/Src/Asp.Net/SqlServerTest/Demos/1_Query.cs @@ -321,6 +321,8 @@ namespace OrmTest.Demo var dbTime = db.GetDate(); var getAll = db.Queryable().Select("*").ToList(); var getAll2 = db.Queryable().ToList(); + var getAll22 = db.Queryable().ToDataTable(); + var getAll222 = db.Queryable().ToJson(); var getAll3 = db.Queryable().OrderBy(it => new { it.Id, it.Name }).GroupBy(it => new { it.Id, it.Name }).Select("id").ToList(); var getRandomList = db.Queryable().OrderBy(it => SqlFunc.GetRandom()).ToList(); var getAllOrder = db.Queryable().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList(); diff --git a/Src/Asp.Net/SqlServerTest/Program.cs b/Src/Asp.Net/SqlServerTest/Program.cs index b696337bf..9e825a4e3 100644 --- a/Src/Asp.Net/SqlServerTest/Program.cs +++ b/Src/Asp.Net/SqlServerTest/Program.cs @@ -42,9 +42,8 @@ namespace OrmTest new SqlSugarPerformance(100).Select(); /***Demo***/ - Demo.Query.Init(); Demo.Insert.Init(); - Demo.Delete.Init(); + Demo.Query.Init(); Demo.Update.Init(); Demo.DbFirst.Init(); Demo.JoinSql.Init(); @@ -60,6 +59,7 @@ namespace OrmTest Demo.Mapper.Init(); Demo.ExtEntity.Init(); Demo.VersionValidation.Init(); + Demo.Delete.Init(); } } } diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 707fe49eb..e862a3b68 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -586,7 +586,16 @@ namespace SqlSugar InitMapping(); var sqlObj = this.ToSql(); RestoreMapping(); - var result = this.Db.GetDataTable(sqlObj.Key, sqlObj.Value.ToArray()); + DataTable result = null; + if (IsCache) + { + var cacheService = this.Context.CurrentConnectionConfig.ConfigureExternalServices.DataInfoCacheService; + result = CacheSchemeMain.GetOrCreate(cacheService, this.QueryBuilder, () => { return this.Db.GetDataTable(sqlObj.Key, sqlObj.Value.ToArray()); }, CacheTime, this.Context); + } + else + { + result = this.Db.GetDataTable(sqlObj.Key, sqlObj.Value.ToArray()); + } return result; } public virtual DataTable ToDataTablePage(int pageIndex, int pageSize)