using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq.Expressions;
using System.Threading.Tasks;
using Dapper;
namespace VOL.Core.Dapper
{
public interface ISqlDapper
{
///
/// 超时时间(秒)2021.05.05
///
///
///
ISqlDapper SetTimout(int timeout);
void BeginTransaction(Func action, Action error);
List QueryList(string cmd, object param, CommandType? commandType = null, bool beginTransaction = false);
Task> QueryListAsync(string cmd, object param, CommandType? commandType = null, bool beginTransaction = false);
T QueryFirst(string cmd, object param, CommandType? commandType = null, bool beginTransaction = false) where T : class;
Task QueryFirstAsync(string cmd, object param, CommandType? commandType = null, bool beginTransaction = false) where T : class;
Task QueryDynamicFirstAsync(string cmd, object param, CommandType? commandType = null, bool beginTransaction = false);
dynamic QueryDynamicFirst(string cmd, object param, CommandType? commandType = null, bool beginTransaction = false);
Task QueryDynamicListAsync(string cmd, object param, CommandType? commandType = null, bool beginTransaction = false);
List QueryDynamicList(string cmd, object param, CommandType? commandType = null, bool beginTransaction = false);
object ExecuteScalar(string cmd, object param, CommandType? commandType = null, bool beginTransaction = false);
Task