From 0906ae8ecff2cbf61b53b84afea2dca1cffb7b65 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 19 Apr 2023 20:09:44 +0800 Subject: [PATCH] Synchronization code --- .../DeleteProvider/DeleteMethodInfo.cs | 11 ++++++++ .../DynamicBuilder/CommonMethodInfo.cs | 27 +++++++++++++++++++ .../InsertableProvider/InsertMethodInfo.cs | 10 +++++++ .../UpdateProvider/UpdateMethodInfo.cs | 11 ++++++++ Src/Asp.Net/SqlSugar/SqlSugar.csproj | 1 + 5 files changed, 60 insertions(+) create mode 100644 Src/Asp.Net/SqlSugar/Abstract/DynamicBuilder/CommonMethodInfo.cs diff --git a/Src/Asp.Net/SqlSugar/Abstract/DeleteProvider/DeleteMethodInfo.cs b/Src/Asp.Net/SqlSugar/Abstract/DeleteProvider/DeleteMethodInfo.cs index b49d1672b..104438f41 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/DeleteProvider/DeleteMethodInfo.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/DeleteProvider/DeleteMethodInfo.cs @@ -27,5 +27,16 @@ namespace SqlSugar var result = inertable.GetType().GetMyMethod("ExecuteCommandAsync",0).Invoke(inertable, new object[] { }); return await(Task)result; } + + public CommonMethodInfo SplitTable() + { + var inertable = MethodInfo.Invoke(Context, new object[] { objectValue }); + var newMethod = inertable.GetType().GetMyMethod("SplitTable", 0); + var result = newMethod.Invoke(inertable, new object[] { }); + return new CommonMethodInfo() + { + Context = result + }; + } } } diff --git a/Src/Asp.Net/SqlSugar/Abstract/DynamicBuilder/CommonMethodInfo.cs b/Src/Asp.Net/SqlSugar/Abstract/DynamicBuilder/CommonMethodInfo.cs new file mode 100644 index 000000000..de48a800c --- /dev/null +++ b/Src/Asp.Net/SqlSugar/Abstract/DynamicBuilder/CommonMethodInfo.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace SqlSugar +{ + public class CommonMethodInfo + { + internal object Context { get; set; } + + public int ExecuteCommand() + { + if (Context == null) return 0; + var result = Context.GetType().GetMyMethod("ExecuteCommand", 0).Invoke(Context, new object[] { }); + return (int)result; + } + public async Task ExecuteCommandAsync() + { + if (Context == null) return 0; + var result = Context.GetType().GetMyMethod("ExecuteCommandAsync", 0).Invoke(Context, new object[] { }); + return await (Task)result; + } + } + +} diff --git a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertMethodInfo.cs b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertMethodInfo.cs index dfff07e7d..597bcda83 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertMethodInfo.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertMethodInfo.cs @@ -41,5 +41,15 @@ namespace SqlSugar var result = inertable.GetType().GetMyMethod("ExecuteReturnIdentityAsync",0).Invoke(inertable, new object[] { }); return await (Task)result; } + public CommonMethodInfo SplitTable() + { + var inertable = MethodInfo.Invoke(Context, new object[] { objectValue }); + var newMethod = inertable.GetType().GetMyMethod("SplitTable", 0); + var result = newMethod.Invoke(inertable, new object[] { }); + return new CommonMethodInfo() + { + Context = result + }; + } } } diff --git a/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateMethodInfo.cs b/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateMethodInfo.cs index 170aafe83..dd6a70b2d 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateMethodInfo.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/UpdateProvider/UpdateMethodInfo.cs @@ -28,5 +28,16 @@ namespace SqlSugar var result = inertable.GetType().GetMyMethod("ExecuteCommandAsync",0).Invoke(inertable, new object[] { }); return await (Task)result; } + + public CommonMethodInfo SplitTable() + { + var inertable = MethodInfo.Invoke(Context, new object[] { objectValue }); + var newMethod = inertable.GetType().GetMyMethod("SplitTable", 0); + var result = newMethod.Invoke(inertable, new object[] { }); + return new CommonMethodInfo() + { + Context = result + }; + } } } diff --git a/Src/Asp.Net/SqlSugar/SqlSugar.csproj b/Src/Asp.Net/SqlSugar/SqlSugar.csproj index 8c60d9b09..2360aea41 100644 --- a/Src/Asp.Net/SqlSugar/SqlSugar.csproj +++ b/Src/Asp.Net/SqlSugar/SqlSugar.csproj @@ -88,6 +88,7 @@ +