From 010bf5623428f717d4a614a1ed54529aaadee070 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sun, 31 Oct 2021 14:36:38 +0800 Subject: [PATCH] Split table --- .../Abstract/QueryableProvider/QueryableProvider.cs | 1 + .../SqlSugar/SpliteTable/SplitTypeExtensions.cs | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index d6f92ded7..a78e67018 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -851,6 +851,7 @@ namespace SqlSugar { tableQueryables.Add(this.Clone().AS(item.TableName)); } + Check.Exception(tableQueryables.Count == 0, ErrorMessage.GetThrowMessage("SplitTable error . There are no tables after filtering", "SplitTable没有筛选出分表,请检查条件和数据库中的表")); var unionall = this.Context._UnionAll(tableQueryables.ToArray()); //var values= unionall.QueryBuilder.GetSelectValue; //unionall.QueryBuilder.SelectValue = values; diff --git a/Src/Asp.Net/SqlSugar/SpliteTable/SplitTypeExtensions.cs b/Src/Asp.Net/SqlSugar/SpliteTable/SplitTypeExtensions.cs index e42763e05..2d5a06712 100644 --- a/Src/Asp.Net/SqlSugar/SpliteTable/SplitTypeExtensions.cs +++ b/Src/Asp.Net/SqlSugar/SpliteTable/SplitTypeExtensions.cs @@ -12,5 +12,17 @@ namespace SqlSugar { return tables.Where(it => tableNames.Any(y => y.Equals(it.TableName, StringComparison.OrdinalIgnoreCase))); } + public static IEnumerable ContainsTableNames(this List tables, params string[] tableNames) + { + List result = new List(); + foreach (var item in tables) + { + if (tableNames.Any(it => item.TableName.Contains(it))) + { + result.Add(item); + } + } + return result; + } } }