Synchronization code

This commit is contained in:
sunkaixuan 2024-05-24 15:33:39 +08:00
parent 49070e0014
commit 3a6f73dd36

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text; using System.Text;
@ -258,6 +259,20 @@ namespace SqlSugar
var reslt = method.Invoke(QueryableObj, new object[] { }); var reslt = method.Invoke(QueryableObj, new object[] { });
return reslt; return reslt;
} }
public DataTable ToDataTablePage(int pageNumber, int pageSize,ref int count)
{
var method = QueryableObj.GetType().GetMyMethod("ToDataTablePage", 3, typeof(int), typeof(int), typeof(int).MakeByRefType());
var parameters = new object[] { pageNumber, pageSize, count };
var reslt = (DataTable)method.Invoke(QueryableObj, parameters);
count = parameters.Last().ObjToInt();
return reslt;
}
public DataTable ToDataTable()
{
var method = QueryableObj.GetType().GetMyMethod("ToDataTable", 0);
var reslt = (DataTable)method.Invoke(QueryableObj, new object[] { });
return reslt;
}
public string ToSqlString() public string ToSqlString()
{ {
var method = QueryableObj.GetType().GetMyMethod("ToSqlString", 0); var method = QueryableObj.GetType().GetMyMethod("ToSqlString", 0);
@ -338,6 +353,20 @@ namespace SqlSugar
var task = (Task)method.Invoke(QueryableObj, new object[] { }); var task = (Task)method.Invoke(QueryableObj, new object[] { });
return await GetTask(task).ConfigureAwait(false); return await GetTask(task).ConfigureAwait(false);
} }
public async Task<object> ToDataTablePageAsync(int pageNumber, int pageSize, RefAsync<int> count)
{
var method = QueryableObj.GetType().GetMyMethod("ToDataTablePageAsync", 3, typeof(int), typeof(int), typeof(RefAsync<int>));
var parameters = new object[] { pageNumber, pageSize, count };
var task = (Task)method.Invoke(QueryableObj, parameters);
count = parameters.Last().ObjToInt();
return await GetTask(task).ConfigureAwait(false);
}
public async Task<object> ToDataTableAsync()
{
var method = QueryableObj.GetType().GetMyMethod("ToDataTableAsync", 0);
var task = (Task)method.Invoke(QueryableObj, new object[] { });
return await GetTask(task).ConfigureAwait(false);
}
public async Task<object> FirstAsync() public async Task<object> FirstAsync()
{ {
var method = QueryableObj.GetType().GetMyMethod("FirstAsync", 0); var method = QueryableObj.GetType().GetMyMethod("FirstAsync", 0);