WithCache ToDataTable bug

This commit is contained in:
sunkaixuan 2019-01-11 21:42:42 +08:00
parent 5f9b18ab5f
commit 116442d0e7
3 changed files with 14 additions and 3 deletions

View File

@ -321,6 +321,8 @@ namespace OrmTest.Demo
var dbTime = db.GetDate(); var dbTime = db.GetDate();
var getAll = db.Queryable<Student>().Select<object>("*").ToList(); var getAll = db.Queryable<Student>().Select<object>("*").ToList();
var getAll2 = db.Queryable<Student>().ToList(); var getAll2 = db.Queryable<Student>().ToList();
var getAll22 = db.Queryable<Student>().ToDataTable();
var getAll222 = db.Queryable<Student>().ToJson();
var getAll3 = db.Queryable<Student>().OrderBy(it => new { it.Id, it.Name }).GroupBy(it => new { it.Id, it.Name }).Select<object>("id").ToList(); var getAll3 = db.Queryable<Student>().OrderBy(it => new { it.Id, it.Name }).GroupBy(it => new { it.Id, it.Name }).Select<object>("id").ToList();
var getRandomList = db.Queryable<Student>().OrderBy(it => SqlFunc.GetRandom()).ToList(); var getRandomList = db.Queryable<Student>().OrderBy(it => SqlFunc.GetRandom()).ToList();
var getAllOrder = db.Queryable<Student>().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList(); var getAllOrder = db.Queryable<Student>().OrderBy(it => it.Id).OrderBy(it => it.Name, OrderByType.Desc).ToList();

View File

@ -42,9 +42,8 @@ namespace OrmTest
new SqlSugarPerformance(100).Select(); new SqlSugarPerformance(100).Select();
/***Demo***/ /***Demo***/
Demo.Query.Init();
Demo.Insert.Init(); Demo.Insert.Init();
Demo.Delete.Init(); Demo.Query.Init();
Demo.Update.Init(); Demo.Update.Init();
Demo.DbFirst.Init(); Demo.DbFirst.Init();
Demo.JoinSql.Init(); Demo.JoinSql.Init();
@ -60,6 +59,7 @@ namespace OrmTest
Demo.Mapper.Init(); Demo.Mapper.Init();
Demo.ExtEntity.Init(); Demo.ExtEntity.Init();
Demo.VersionValidation.Init(); Demo.VersionValidation.Init();
Demo.Delete.Init();
} }
} }
} }

View File

@ -586,7 +586,16 @@ namespace SqlSugar
InitMapping(); InitMapping();
var sqlObj = this.ToSql(); var sqlObj = this.ToSql();
RestoreMapping(); 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<DataTable>(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; return result;
} }
public virtual DataTable ToDataTablePage(int pageIndex, int pageSize) public virtual DataTable ToDataTablePage(int pageIndex, int pageSize)