You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.7 KiB
43 lines
1.7 KiB
3 weeks ago
|
using SqlSugar;
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Security.AccessControl;
|
||
|
using System.Text;
|
||
|
using System.Threading.Tasks;
|
||
|
using System.Linq;
|
||
|
using System.Data;
|
||
|
using System.Text.RegularExpressions;
|
||
|
namespace ReZero.SuperAPI
|
||
|
{
|
||
|
public partial class QueryCommon :CommonDataService, IDataService
|
||
|
{
|
||
|
public ISqlSugarClient? _sqlSugarClient;
|
||
|
private ISqlBuilder? _sqlBuilder;
|
||
|
public async Task<object> ExecuteAction(DataModel dataModel)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
RefAsync<int> count = 0;
|
||
|
_sqlSugarClient = App.GetDbTableId(dataModel.TableId) ?? App.Db;
|
||
|
_sqlBuilder = _sqlSugarClient.Queryable<object>().SqlBuilder;
|
||
|
var type = await EntityGeneratorManager.GetTypeAsync(dataModel.TableId);
|
||
|
base.InitDb(type,_sqlSugarClient);
|
||
|
var queryObject = _sqlSugarClient.QueryableByObject(type, PubConst.Orm_TableDefaultMasterTableShortName);
|
||
|
queryObject = Join(type, dataModel, queryObject);
|
||
|
queryObject = Where(type, dataModel, queryObject);
|
||
|
queryObject = OrderBySelectBefore(type, dataModel, queryObject);
|
||
|
queryObject = GroupBy(type, dataModel, queryObject);
|
||
|
queryObject = Select(type, dataModel, queryObject);
|
||
|
queryObject = MergeTable(type,dataModel,queryObject);
|
||
|
object? result = await ToList(dataModel, count, type, queryObject);
|
||
|
return result;
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
Console.WriteLine(ex.Message);
|
||
|
throw;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|