216 lines
10 KiB
C#
216 lines
10 KiB
C#
using Microsoft.EntityFrameworkCore.Storage;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.Common;
|
|
using System.Linq.Expressions;
|
|
using APT.Infrastructure.Core;
|
|
namespace APT.Infrastructure.Api
|
|
{
|
|
/// <summary>
|
|
/// 领域服务接口
|
|
/// </summary>
|
|
/// <typeparam name="TRepository"></typeparam>
|
|
/// <typeparam name="TEntity"></typeparam>
|
|
/// <typeparam name="TKey"></typeparam>
|
|
public interface IDomainService : IDependInject
|
|
{
|
|
|
|
/// <summary>
|
|
/// 对数据库执行给定的 DDL/DML 命令。
|
|
/// </summary>
|
|
/// <param name="sql">命令字符串</param>
|
|
/// <param name="parameters">参数</param>
|
|
/// <returns>受影响的行数</returns>
|
|
int ExecuteSqlCommand(string sql, params object[] parameters);
|
|
/// <summary>
|
|
/// 对数据库执行给定的 DDL/DML 命令。
|
|
/// </summary>
|
|
/// <param name="transactionalBehavior">事务行为</param>
|
|
/// <param name="sql">命令字符串</param>
|
|
/// <param name="parameters">参数</param>
|
|
/// <returns>受影响的行数</returns>
|
|
int ExecuteSqlCommand(TransactionalBehavior transactionalBehavior, string sql, params object[] parameters);
|
|
|
|
/// <summary>
|
|
/// 对数据库执行给定的 DDL/DML 命令返回reader。
|
|
/// </summary>
|
|
/// <param name="sql">命令字符串</param>
|
|
/// <param name="readerAction">reader委托</param>
|
|
void ExecuteReader(string sql, ReaderColumn[] readerColumns, Action<DbDataReader> readerAction);
|
|
|
|
/// <summary>
|
|
/// 对数据库执行给定的 DDL/DML 命令返回reader。
|
|
/// </summary>
|
|
/// <param name="sql">命令字符串</param>
|
|
/// <param name="parameters">参数</param>
|
|
/// <param name="readerAction">reader委托</param>
|
|
void ExecuteReader(string sql, ReaderColumn[] readerColumns, DbParameter[] parameters, Action<DbDataReader> readerAction);
|
|
|
|
/// <summary>
|
|
/// 对数据库执行给定的 DDL/DML 命令返回reader。
|
|
/// </summary>
|
|
/// <param name="commandType">命令类型</param>
|
|
/// <param name="sql">命令字符串</param>
|
|
/// <param name="parameters">参数</param>
|
|
/// <param name="readerAction">reader委托</param>
|
|
void ExecuteReader(CommandType commandType, string sql, ReaderColumn[] readerColumns, DbParameter[] parameters, Action<DbDataReader> readerAction);
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 创建一个原始 SQL 查询,该查询将返回给定泛型类型的元素。
|
|
/// </summary>
|
|
/// <typeparam name="TElement">查询所返回对象的类型</typeparam>
|
|
/// <param name="sql">SQL 查询字符串</param>
|
|
/// <param name="parameters">要应用于 SQL 查询字符串的参数</param>
|
|
/// <returns></returns>
|
|
//IEnumerable<TElement> SqlQuery<TElement>(string sql, params object[] parameters);
|
|
|
|
/// <summary>
|
|
/// 创建一个原始 SQL 查询,该查询将返回给定类型的元素。
|
|
/// </summary>
|
|
/// <param name="elementType">查询所返回对象的类型</param>
|
|
/// <param name="sql">SQL 查询字符串</param>
|
|
/// <param name="parameters">要应用于 SQL 查询字符串的参数</param>
|
|
/// <returns></returns>
|
|
IEnumerable SqlQuery(Type elementType, string sql, ReaderColumn[] readerColumns, params Object[] parameters);
|
|
|
|
/// <summary>
|
|
/// 对数据库执行给定的 DDL/DML 命令。
|
|
/// </summary>
|
|
/// <param name="commandType">命令类型</param>
|
|
/// <param name="sql">命令字符串</param>
|
|
/// <param name="parameters">参数</param>
|
|
/// <returns></returns>
|
|
int ExecuteNonQuery(CommandType commandType, string sql, ReaderColumn[] readerColumns, DbParameter[] parameters);
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 获取数据库连接对象
|
|
/// </summary>
|
|
/// <param name="dataBaseType">数据库类型</param>
|
|
/// <param name="connString">连接字符串</param>
|
|
DbConnection InitDbConnection(DataBaseType dataBaseType, string connString);
|
|
|
|
|
|
/// <summary>
|
|
/// 执行查询,并返回查询所返回的结果集中第一行的第一列。 所有其他的列和行将被忽略。
|
|
/// </summary>
|
|
/// <param name="dataBaseType">数据库类型</param>
|
|
/// <param name="connString">连接字符串</param>
|
|
/// <param name="commandType">sql 类型</param>
|
|
/// <param name="sql">sql</param>
|
|
/// <param name="dbParameters">参数</param>
|
|
object ExecuteScalarByConn(DataBaseType dataBaseType, string connString, CommandType commandType,
|
|
string sql, DbParameter[] dbParameters);
|
|
|
|
/// <summary>
|
|
/// 执行查询,并返回查询所返回的结果集中第一行的第一列。 所有其他的列和行将被忽略。
|
|
/// </summary>
|
|
/// <param name="dataBaseType">数据库类型</param>
|
|
/// <param name="conn">数据库连接对象</param>
|
|
/// <param name="commandType">sql 类型</param>
|
|
/// <param name="sql">sql</param>
|
|
/// <param name="dbParameters">参数</param>
|
|
/// <param name="close">是否关闭连接</param>
|
|
object ExecuteScalarByConn(DataBaseType dataBaseType, DbConnection conn, CommandType commandType,
|
|
string sql, bool close = true, params DbParameter[] dbParameters);
|
|
|
|
/// <summary>
|
|
/// 根据数据库连接对数据库执行给定的 DDL/DML 命令获取Reader。
|
|
/// </summary>
|
|
/// <param name="dataBaseType">数据库类型</param>
|
|
/// <param name="conn">连接对象</param>
|
|
/// <param name="commandType">sql 类型</param>
|
|
/// <param name="sql">sql</param>
|
|
/// <param name="dbParameters">参数</param>
|
|
/// <param name="pageIndex">分页索引 从1开始</param>
|
|
/// <param name="pageLimit">每页条数 必填</param>
|
|
/// <param name="readerAction">执行委托</param>
|
|
/// <param name="close">是否关闭连接</param>
|
|
void ExecuteReaderPageByConn(DataBaseType dataBaseType, DbConnection conn, CommandType commandType,
|
|
string sql, DbParameter[] dbParameters, int pageIndex, int pageLimit, Action<DbDataReader> readerAction
|
|
, bool close = true);
|
|
/// <summary>
|
|
/// 根据数据库连接对数据库执行给定的 DDL/DML 命令获取Reader。
|
|
/// </summary>
|
|
/// <param name="dataBaseType">数据库类型</param>
|
|
/// <param name="conn">连接对象</param>
|
|
/// <param name="commandType">指令类型</param>
|
|
/// <param name="sql">SQL语句</param>
|
|
/// <param name="dbParameters">参数</param>
|
|
/// <param name="close">是否关闭连接</param>
|
|
/// <param name="readerAction">委托</param>
|
|
void ExecuteReaderByConn(DataBaseType dataBaseType, DbConnection conn, CommandType commandType, string sql,
|
|
DbParameter[] dbParameters, Action<DbDataReader> readerAction, bool close = true);
|
|
/// <summary>
|
|
/// 根据数据库连接对数据库执行给定的 DDL/DML 命令。
|
|
/// </summary>
|
|
/// <param name="dataBaseType">数据库类型</param>
|
|
/// <param name="connString">连接字符串</param>
|
|
/// <param name="commandType">sql 类型</param>
|
|
/// <param name="sql">sql</param>
|
|
/// <param name="dbParameters">参数</param>
|
|
void ExecuteNonQueryByConn(DataBaseType dataBaseType, string connString, CommandType commandType,
|
|
string sql, DbParameter[] dbParameters);
|
|
|
|
/// <summary>
|
|
/// 根据数据库连接对数据库执行给定的 DDL/DML 命令。
|
|
/// </summary>
|
|
/// <param name="dataBaseType">数据库类型</param>
|
|
/// <param name="connString">连接字符串</param>
|
|
/// <param name="commandType">sql 类型</param>
|
|
/// <param name="sql">sql</param>
|
|
/// <param name="dbParameters">参数</param>
|
|
void ExecuteNonQueryByConn(DataBaseType dataBaseType, DbConnection conn, CommandType commandType, string sql,
|
|
DbParameter[] dbParameters, bool close = true);
|
|
|
|
/// <summary>
|
|
/// 根据数据库连接对数据库执行给定的 DDL/DML 命令获取Reader。
|
|
/// </summary>
|
|
/// <param name="dataBaseType">数据库类型</param>
|
|
/// <param name="connString">连接字符串</param>
|
|
/// <param name="commandType">sql 类型</param>
|
|
/// <param name="sql">sql</param>
|
|
/// <param name="dbParameters">参数</param>
|
|
/// <param name="readerAction">执行委托</param>
|
|
void ExecuteReaderByConn(DataBaseType dataBaseType, string connString, CommandType commandType, string sql,
|
|
DbParameter[] dbParameters, Action<DbDataReader> readerAction);
|
|
|
|
|
|
/// <summary>
|
|
/// 根据数据库连接对数据库执行给定的 DDL/DML 命令获取Reader。
|
|
/// </summary>
|
|
/// <param name="dataBaseType">数据库类型</param>
|
|
/// <param name="connString">连接字符串</param>
|
|
/// <param name="commandType">sql 类型</param>
|
|
/// <param name="sql">sql</param>
|
|
/// <param name="dbParameters">参数</param>
|
|
/// <param name="pageIndex">分页索引 从1开始</param>
|
|
/// <param name="pageLimit">每页条数 必填</param>
|
|
/// <param name="readerAction">执行委托</param>
|
|
void ExecuteReaderPageByConn(DataBaseType dataBaseType, string connString, CommandType commandType,
|
|
string sql, DbParameter[] dbParameters, int pageIndex, int pageLimit, Action<DbDataReader> readerAction);
|
|
|
|
/// <summary>
|
|
/// 根据数据库连接对数据库执行给定的 DDL/DML 命令获取数据总条数。
|
|
/// </summary>
|
|
/// <param name="dataBaseType">数据库类型</param>
|
|
/// <param name="connString">连接字符串</param>
|
|
/// <param name="commandType">sql 类型</param>
|
|
/// <param name="sql">sql</param>
|
|
/// <param name="dbParameters">参数</param>
|
|
/// <returns>数据总条数</returns>
|
|
int GetSqlCountByConn(DataBaseType dataBaseType, string connString, CommandType commandType,
|
|
string sql, DbParameter[] dbParameters);
|
|
|
|
string GetRuleCodes(CodeRuleParam param);
|
|
|
|
}
|
|
|
|
|
|
}
|