【新增】增加sqlserver存储过程的调用方法封装。

This commit is contained in:
JianWeie
2022-05-11 15:30:32 +08:00
parent 9b35607659
commit f9c23221d4
4 changed files with 101 additions and 1 deletions

View File

@@ -10,6 +10,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using CoreCms.Net.Model.ViewModels.Basics; using CoreCms.Net.Model.ViewModels.Basics;
@@ -21,7 +22,7 @@ namespace CoreCms.Net.IRepository
/// 仓储通用接口类 /// 仓储通用接口类
/// </summary> /// </summary>
/// <typeparam name="T">泛型实体类</typeparam> /// <typeparam name="T">泛型实体类</typeparam>
public interface IBaseRepository<T> where T : class, new() public interface IBaseRepository<T> where T : class
{ {
/// <summary> /// <summary>
/// 根据主值查询单条数据 /// 根据主值查询单条数据
@@ -817,5 +818,25 @@ namespace CoreCms.Net.IRepository
/// <param name="sql"></param> /// <param name="sql"></param>
/// <returns></returns> /// <returns></returns>
Task<List<T>> SqlQueryable(string sql); Task<List<T>> SqlQueryable(string sql);
/// <summary>
/// 执行调用存储过程返回DataTable
/// </summary>
/// <param name="useStoredProcedureName">存储过程名称</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
Task<DataTable> SqlQueryDataTableByStoredProcedure(string useStoredProcedureName,
List<SugarParameter> parameters);
/// <summary>
/// 执行调用存储过程返回List<T>
/// </summary>
/// <typeparam name="T">返回类型</typeparam>
/// <param name="useStoredProcedureName">存储过程名称</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
Task<List<T>> SqlQueryableByStoredProcedure(string useStoredProcedureName, List<SugarParameter> parameters);
} }
} }

View File

@@ -11,6 +11,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using CoreCms.Net.Model.ViewModels.Basics; using CoreCms.Net.Model.ViewModels.Basics;
@@ -815,5 +816,25 @@ namespace CoreCms.Net.IServices
/// <param name="sql"></param> /// <param name="sql"></param>
/// <returns></returns> /// <returns></returns>
Task<List<T>> SqlQueryable(string sql); Task<List<T>> SqlQueryable(string sql);
/// <summary>
/// 执行调用存储过程返回DataTable
/// </summary>
/// <param name="useStoredProcedureName">存储过程名称</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
Task<DataTable> SqlQueryDataTableByStoredProcedure(string useStoredProcedureName,
List<SugarParameter> parameters);
/// <summary>
/// 执行调用存储过程返回List<T>
/// </summary>
/// <typeparam name="T">返回类型</typeparam>
/// <param name="useStoredProcedureName">存储过程名称</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
Task<List<T>> SqlQueryableByStoredProcedure(string useStoredProcedureName, List<SugarParameter> parameters);
} }
} }

View File

@@ -10,6 +10,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using CoreCms.Net.IRepository; using CoreCms.Net.IRepository;
@@ -1299,5 +1300,33 @@ namespace CoreCms.Net.Repository
var list = await DbBaseClient.SqlQueryable<T>(sql).ToListAsync(); var list = await DbBaseClient.SqlQueryable<T>(sql).ToListAsync();
return list; return list;
} }
/// <summary>
/// 执行调用存储过程返回DataTable
/// </summary>
/// <param name="useStoredProcedureName">存储过程名称</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
public async Task<DataTable> SqlQueryDataTableByStoredProcedure(string useStoredProcedureName, List<SugarParameter> parameters)
{
var list = await DbBaseClient.Ado.UseStoredProcedure().GetDataTableAsync(useStoredProcedureName, parameters);//返回DataTable
return list;
}
/// <summary>
/// 执行调用存储过程返回List<T>
/// </summary>
/// <typeparam name="T">返回类型</typeparam>
/// <param name="useStoredProcedureName">存储过程名称</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
public async Task<List<T>> SqlQueryableByStoredProcedure(string useStoredProcedureName, List<SugarParameter> parameters)
{
var list = await DbBaseClient.Ado.UseStoredProcedure().SqlQueryAsync<T>(useStoredProcedureName, parameters);//返回List
return list;
}
} }
} }

View File

@@ -10,6 +10,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using CoreCms.Net.IRepository; using CoreCms.Net.IRepository;
@@ -1093,5 +1094,33 @@ namespace CoreCms.Net.Services
{ {
return await BaseDal.SqlQueryable(sql); return await BaseDal.SqlQueryable(sql);
} }
/// <summary>
/// 执行调用存储过程返回DataTable
/// </summary>
/// <param name="useStoredProcedureName">存储过程名称</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
public async Task<DataTable> SqlQueryDataTableByStoredProcedure(string useStoredProcedureName, List<SugarParameter> parameters)
{
var list = await BaseDal.SqlQueryDataTableByStoredProcedure(useStoredProcedureName, parameters);//返回DataTable
return list;
}
/// <summary>
/// 执行调用存储过程返回List<T>
/// </summary>
/// <typeparam name="T">返回类型</typeparam>
/// <param name="useStoredProcedureName">存储过程名称</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
public async Task<List<T>> SqlQueryableByStoredProcedure(string useStoredProcedureName, List<SugarParameter> parameters)
{
var list = await BaseDal.SqlQueryableByStoredProcedure(useStoredProcedureName, parameters);//返回List
return list;
}
} }
} }