mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-15 18:55:07 +08:00
-
This commit is contained in:
@@ -77,7 +77,7 @@ namespace SqlSugar
|
||||
{
|
||||
var isEnableLogEvent = this.Context.Database.IsEnableLogEvent;
|
||||
this.Context.Database.IsEnableLogEvent = false;
|
||||
var reval = this.Context.SqlQuery<T>(this.GetColumnInfosByTableNameSql);
|
||||
var reval = this.Context.Database.SqlQuery<T>(this.GetColumnInfosByTableNameSql);
|
||||
this.Context.Database.IsEnableLogEvent = isEnableLogEvent;
|
||||
return reval;
|
||||
});
|
||||
|
@@ -84,41 +84,7 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
|
||||
public virtual string GetString(string sql, object pars)
|
||||
{
|
||||
return GetString(sql, this.GetParameters(pars));
|
||||
}
|
||||
public virtual string GetString(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
return Convert.ToString(GetScalar(sql, pars));
|
||||
}
|
||||
public virtual int GetInt(string sql, object pars)
|
||||
{
|
||||
return GetInt(sql, this.GetParameters(pars));
|
||||
}
|
||||
public virtual int GetInt(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
return Convert.ToInt32(GetScalar(sql, pars));
|
||||
}
|
||||
public virtual Double GetDouble(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
return Convert.ToDouble(GetScalar(sql, pars));
|
||||
}
|
||||
public virtual decimal GetDecimal(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
return Convert.ToDecimal(GetScalar(sql, pars));
|
||||
}
|
||||
public virtual DateTime GetDateTime(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
return Convert.ToDateTime(GetScalar(sql, pars));
|
||||
}
|
||||
|
||||
public virtual SugarParameter[] GetParameters(object obj, PropertyInfo[] propertyInfo = null)
|
||||
{
|
||||
if (obj == null) return null;
|
||||
return base.GetParameters(obj, propertyInfo,this.SqlParameterKeyWord);
|
||||
}
|
||||
|
||||
#region Tran
|
||||
public virtual void BeginTran()
|
||||
{
|
||||
this.Connection.BeginTransaction();
|
||||
@@ -144,14 +110,18 @@ namespace SqlSugar
|
||||
this.Transaction = null;
|
||||
if (this.Context.CurrentConnectionConfig.IsAutoCloseConnection) this.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region abstract
|
||||
public abstract IDataParameter[] ToIDbDataParameter(params SugarParameter[] pars);
|
||||
public abstract void SetCommandToAdapter(IDataAdapter adapter, IDbCommand command);
|
||||
public abstract IDataAdapter GetAdapter();
|
||||
public abstract IDbCommand GetCommand(string sql, SugarParameter[] pars);
|
||||
public abstract IDbConnection Connection { get; set; }
|
||||
public abstract void BeginTran(string transactionName);//Only SqlServer
|
||||
public abstract void BeginTran(IsolationLevel iso, string transactionName);//Only SqlServer
|
||||
public abstract void BeginTran(IsolationLevel iso, string transactionName);//Only SqlServer
|
||||
#endregion
|
||||
|
||||
#region Core
|
||||
public virtual int ExecuteCommand(string sql, params SugarParameter[] pars)
|
||||
@@ -207,21 +177,79 @@ namespace SqlSugar
|
||||
}
|
||||
#endregion
|
||||
|
||||
public virtual string GetString(string sql, object pars)
|
||||
{
|
||||
return GetString(sql, this.GetParameters(pars));
|
||||
}
|
||||
public virtual string GetString(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
return Convert.ToString(GetScalar(sql, pars));
|
||||
}
|
||||
public virtual int GetInt(string sql, object pars)
|
||||
{
|
||||
return GetInt(sql, this.GetParameters(pars));
|
||||
}
|
||||
public virtual int GetInt(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
return Convert.ToInt32(GetScalar(sql, pars));
|
||||
}
|
||||
public virtual Double GetDouble(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
return Convert.ToDouble(GetScalar(sql, pars));
|
||||
}
|
||||
public virtual decimal GetDecimal(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
return Convert.ToDecimal(GetScalar(sql, pars));
|
||||
}
|
||||
public virtual DateTime GetDateTime(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
return Convert.ToDateTime(GetScalar(sql, pars));
|
||||
}
|
||||
public virtual List<T> SqlQuery<T>(string sql, object whereObj = null)
|
||||
{
|
||||
var parameters = this.GetParameters(whereObj);
|
||||
return SqlQuery<T>(sql, parameters);
|
||||
}
|
||||
public virtual List<T> SqlQuery<T>(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
var builder = InstanceFactory.GetSqlbuilder(this.Context.CurrentConnectionConfig);
|
||||
builder.SqlQueryBuilder.sql.Append(sql);
|
||||
if (pars != null && pars.Any())
|
||||
builder.SqlQueryBuilder.Parameters.AddRange(pars);
|
||||
using (var dataReader = this.GetDataReader(builder.SqlQueryBuilder.ToSqlString(), builder.SqlQueryBuilder.Parameters.ToArray()))
|
||||
{
|
||||
var reval = this.DbBind.DataReaderToList<T>(typeof(T), dataReader, builder.SqlQueryBuilder.Fields);
|
||||
if (this.Context.CurrentConnectionConfig.IsAutoCloseConnection) this.Close();
|
||||
builder.SqlQueryBuilder.Clear();
|
||||
return reval;
|
||||
}
|
||||
}
|
||||
public virtual List<T> SqlQuery<T>(string sql, List<SugarParameter> parameters)
|
||||
{
|
||||
if (parameters != null)
|
||||
{
|
||||
return SqlQuery<T>(sql, parameters.ToArray());
|
||||
}
|
||||
else
|
||||
{
|
||||
return SqlQuery<T>(sql);
|
||||
}
|
||||
}
|
||||
public virtual DataTable GetDataTable(string sql, params SugarParameter[] pars)
|
||||
{
|
||||
var ds = GetDataSetAll(sql, pars);
|
||||
if (ds.Tables.Count != 0 && ds.Tables.Count > 0) return ds.Tables[0];
|
||||
return new DataTable();
|
||||
}
|
||||
public DataTable GetDataTable(string sql, object pars)
|
||||
public virtual DataTable GetDataTable(string sql, object pars)
|
||||
{
|
||||
return GetDataTable(sql, this.GetParameters(pars));
|
||||
}
|
||||
public DataSet GetDataSetAll(string sql, object pars)
|
||||
public virtual DataSet GetDataSetAll(string sql, object pars)
|
||||
{
|
||||
return GetDataSetAll(sql, this.GetParameters(pars));
|
||||
}
|
||||
public IDataReader GetDataReader(string sql, object pars)
|
||||
public virtual IDataReader GetDataReader(string sql, object pars)
|
||||
{
|
||||
return GetDataReader(sql, this.GetParameters(pars));
|
||||
}
|
||||
@@ -251,6 +279,12 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
}
|
||||
public virtual SugarParameter[] GetParameters(object obj, PropertyInfo[] propertyInfo = null)
|
||||
{
|
||||
if (obj == null) return null;
|
||||
return base.GetParameters(obj, propertyInfo, this.SqlParameterKeyWord);
|
||||
}
|
||||
|
||||
public virtual void Open()
|
||||
{
|
||||
CheckConnection();
|
||||
|
@@ -49,7 +49,10 @@ namespace SqlSugar
|
||||
Double GetDouble(string sql, params SugarParameter[] pars);
|
||||
decimal GetDecimal(string sql, params SugarParameter[] pars);
|
||||
DateTime GetDateTime(string sql, params SugarParameter[] pars);
|
||||
List<T> SqlQuery<T>(string sql, object whereObj = null);
|
||||
|
||||
List<T> SqlQuery<T>(string sql, params SugarParameter[] pars);
|
||||
List<T> SqlQuery<T>(string sql, List<SugarParameter> pars);
|
||||
void Dispose();
|
||||
void Close();
|
||||
void Open();
|
||||
|
@@ -303,24 +303,6 @@ namespace SqlSugar
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region SqlQuery
|
||||
public virtual List<T> SqlQuery<T>(string sql, object whereObj = null)
|
||||
{
|
||||
var parameters = this.Database.GetParameters(whereObj);
|
||||
var builder = InstanceFactory.GetSqlbuilder(base.CurrentConnectionConfig);
|
||||
builder.SqlQueryBuilder.sql.Append(sql);
|
||||
if (parameters != null && parameters.Any())
|
||||
builder.SqlQueryBuilder.Parameters.AddRange(parameters);
|
||||
using (var dataReader = this.Database.GetDataReader(builder.SqlQueryBuilder.ToSqlString(), builder.SqlQueryBuilder.Parameters.ToArray()))
|
||||
{
|
||||
var reval = this.Database.DbBind.DataReaderToList<T>(typeof(T), dataReader, builder.SqlQueryBuilder.Fields);
|
||||
if (this.CurrentConnectionConfig.IsAutoCloseConnection) this.Close();
|
||||
builder.SqlQueryBuilder.Clear();
|
||||
return reval;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region DbFirst
|
||||
public virtual IDbFirst DbFirst
|
||||
{
|
||||
|
Reference in New Issue
Block a user