From 08e8329b692133e92c86067d631c71b4f3bb0ff6 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 18 Jan 2024 23:11:27 +0800 Subject: [PATCH] Synchronization code --- .../InsertableProvider/InsertMethodInfo.cs | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertMethodInfo.cs b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertMethodInfo.cs index a6c226ff4..641ee714b 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertMethodInfo.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertMethodInfo.cs @@ -11,19 +11,27 @@ namespace SqlSugar { internal SqlSugarProvider Context { get; set; } internal MethodInfo MethodInfo { get; set; } - internal object objectValue { get; set; } - + internal object objectValue { get; set; } + internal int pageSize { get; set; } public int ExecuteCommand() { if (Context == null) return 0; - var inertable=MethodInfo.Invoke(Context, new object[] { objectValue }); - var result= inertable.GetType().GetMethod("ExecuteCommand").Invoke(inertable,new object[] { }); + var inertable = MethodInfo.Invoke(Context, new object[] { objectValue }); + inertable = GetPageInsertable(inertable); + var result = inertable.GetType().GetMethod("ExecuteCommand").Invoke(inertable, new object[] { }); return (int)result; } + + public InsertMethodInfo PageSize(int pageSize) + { + this.pageSize= pageSize; + return this; + } public async Task ExecuteCommandAsync() { if (Context == null) return 0; var inertable = MethodInfo.Invoke(Context, new object[] { objectValue }); + inertable = GetPageInsertable(inertable); var result = inertable.GetType().GetMyMethod("ExecuteCommandAsync",0).Invoke(inertable, new object[] { }); return await (Task)result; } @@ -98,5 +106,15 @@ namespace SqlSugar var result = inertable.GetType().GetMyMethod("ExecuteReturnSnowflakeIdAsync", 0).Invoke(inertable, new object[] { }); return await (Task)result; } + + private object GetPageInsertable(object inertable) + { + if (pageSize > 0) + { + inertable = inertable.GetType().GetMethod("PageSize").Invoke(inertable, new object[] { pageSize }); + } + return inertable; + } + } }