using System.Data;
using System.Data.SqlClient;
using System.Linq.Expressions;
using System.Text;
using Tiobon.Core.Common.DB.Dapper.Const;
using Tiobon.Core.Common.DB.Dapper.DBManager;
using Tiobon.Core.Common.DB.Dapper.Enums;
namespace Tiobon.Core.Common.DB.Dapper;
public class DbAccess
{
public static ISqlDapper Instance
{
get
{
return DBServerProvider.SqlDapper;
}
}
public static bool MySql
{
get
{
bool result = false;
if (DBType.Name == DbCurrentType.MySql.ToString())
{
result = true;
}
return result;
}
}
#region 数据库名称
///
/// 数据库名称
///
public static string DatabaseName
{
get
{
return Instance.Connection.Database;
}
}
#endregion
public static DataTable GetDataTable(string sql, object param = null, CommandType? commandType = null, bool beginTransaction = false) => Instance.GetDataTable(sql, param, commandType, beginTransaction);
public static async Task GetDataTableAsync(string cmd, object param = null, IDbTransaction transaction = null, CommandType? commandType = null, int? commandTimeout = null) => await Instance.GetDataTableAsync(cmd, param, transaction, commandType, commandTimeout);
public static List QueryList(string cmd, object param = null, CommandType? commandType = null, bool beginTransaction = false) where T : class => Instance.QueryList(cmd, param, commandType, beginTransaction);
public static async Task> QueryListAsync(string cmd, object param = null, bool beginTransaction = false, CommandType? commandType = null, int? commandTimeout = null) where T : class => await Instance.QueryListAsync(cmd, param, commandType, beginTransaction, commandTimeout);
public static T QueryFirst(string cmd, object param = null, CommandType? commandType = null, bool beginTransaction = false) where T : class => Instance.QueryFirst(cmd, param, commandType, beginTransaction);
public static async Task QueryFirstAsync(string cmd, object param = null, CommandType? commandType = null, bool beginTransaction = false, int? commandTimeout = null) where T : class => await Instance.QueryFirstAsync(cmd, param, commandType, beginTransaction, commandTimeout);
public static object ExecuteScalar(string cmd, object param = null, CommandType? commandType = null, bool beginTransaction = false) => Instance.ExecuteScalar(cmd, param, commandType, beginTransaction);
public static async Task