将Feature/XP.Common和Feature/XP.Hardware分支合并至Develop/XP.forHardwareAndCommon,完善XPapp注册和相关硬件类库通用类库功能。
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using XP.Common.Database.Models;
|
||||
|
||||
namespace XP.Common.Database.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// 通用数据库操作接口(适配任意数据库,SQLite为具体实现)
|
||||
/// </summary>
|
||||
public interface IDbContext : IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// 打开数据库连接
|
||||
/// </summary>
|
||||
IDbExecuteResult OpenConnection();
|
||||
|
||||
/// <summary>
|
||||
/// 异步打开数据库连接
|
||||
/// </summary>
|
||||
Task<IDbExecuteResult> OpenConnectionAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 开始事务
|
||||
/// </summary>
|
||||
(IDbExecuteResult Result, IDbTransaction? Transaction) BeginTransaction();
|
||||
|
||||
/// <summary>
|
||||
/// 执行增删改SQL(无返回值)
|
||||
/// </summary>
|
||||
/// <param name="sql">SQL语句(参数化)</param>
|
||||
/// <param name="parameters">参数集合(key=参数名,value=参数值)</param>
|
||||
IDbExecuteResult ExecuteNonQuery(string sql, Dictionary<string, object>? parameters = null);
|
||||
|
||||
/// <summary>
|
||||
/// 异步执行增删改SQL
|
||||
/// </summary>
|
||||
Task<IDbExecuteResult> ExecuteNonQueryAsync(string sql, Dictionary<string, object>? parameters = null);
|
||||
|
||||
/// <summary>
|
||||
/// 执行查询并返回单个值(如Count/Sum)
|
||||
/// </summary>
|
||||
/// <typeparam name="T">返回值类型</typeparam>
|
||||
/// <param name="sql">SQL语句</param>
|
||||
/// <param name="parameters">参数集合</param>
|
||||
(IDbExecuteResult Result, T? Value) ExecuteScalar<T>(string sql, Dictionary<string, object>? parameters = null);
|
||||
|
||||
/// <summary>
|
||||
/// 异步执行查询并返回单个值
|
||||
/// </summary>
|
||||
Task<(IDbExecuteResult Result, T? Value)> ExecuteScalarAsync<T>(string sql, Dictionary<string, object>? parameters = null);
|
||||
|
||||
/// <summary>
|
||||
/// 执行查询并返回DataTable
|
||||
/// </summary>
|
||||
(IDbExecuteResult Result, DataTable? Data) ExecuteDataTable(string sql, Dictionary<string, object>? parameters = null);
|
||||
|
||||
/// <summary>
|
||||
/// 异步执行查询并返回DataTable
|
||||
/// </summary>
|
||||
Task<(IDbExecuteResult Result, DataTable? Data)> ExecuteDataTableAsync(string sql, Dictionary<string, object>? parameters = null);
|
||||
|
||||
/// <summary>
|
||||
/// 执行查询并映射为实体列表
|
||||
/// </summary>
|
||||
/// <typeparam name="T">实体类型(需有无参构造函数)</typeparam>
|
||||
(IDbExecuteResult Result, List<T> Data) QueryList<T>(string sql, Dictionary<string, object>? parameters = null) where T : new();
|
||||
|
||||
/// <summary>
|
||||
/// 异步执行查询并映射为实体列表
|
||||
/// </summary>
|
||||
Task<(IDbExecuteResult Result, List<T> Data)> QueryListAsync<T>(string sql, Dictionary<string, object>? parameters = null) where T : new();
|
||||
|
||||
/// <summary>
|
||||
/// 执行分页查询并返回分页结果
|
||||
/// </summary>
|
||||
/// <typeparam name="T">实体类型</typeparam>
|
||||
(IDbExecuteResult Result, PaginationResponse<T> Data) QueryPaged<T>(string sql, PaginationRequest pagination, Dictionary<string, object>? parameters = null) where T : new();
|
||||
|
||||
/// <summary>
|
||||
/// 异步执行分页查询并返回分页结果
|
||||
/// </summary>
|
||||
Task<(IDbExecuteResult Result, PaginationResponse<T> Data)> QueryPagedAsync<T>(string sql, PaginationRequest pagination, Dictionary<string, object>? parameters = null) where T : new();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace XP.Common.Database.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// 数据库操作通用执行结果
|
||||
/// </summary>
|
||||
public interface IDbExecuteResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 是否执行成功
|
||||
/// </summary>
|
||||
bool IsSuccess { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 影响行数(增删改)
|
||||
/// </summary>
|
||||
int RowsAffected { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 消息(成功/失败提示)
|
||||
/// </summary>
|
||||
string Message { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 异常信息(失败时非空)
|
||||
/// </summary>
|
||||
Exception? Exception { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace XP.Common.Database.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// 数据库事务接口
|
||||
/// </summary>
|
||||
public interface IDbTransaction : IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// 提交事务
|
||||
/// </summary>
|
||||
IDbExecuteResult Commit();
|
||||
|
||||
/// <summary>
|
||||
/// 回滚事务
|
||||
/// </summary>
|
||||
IDbExecuteResult Rollback();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user