Browse Source

Update core

pull/14/MERGE
sunkaixuan 3 years ago
parent
commit
e3d9122c67
  1. 14
      Src/Asp.NetCore2/SqlSugar/Abstract/AdoProvider/AdoProvider.cs
  2. 1
      Src/Asp.NetCore2/SqlSugar/Interface/IAdo.cs
  3. 10
      Src/Asp.NetCore2/SqlSugar/Realization/MySql/SqlBuilder/MySqlInsertBuilder.cs
  4. 10
      Src/Asp.NetCore2/SqlSugar/Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs
  5. 5
      Src/Asp.NetCore2/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs

14
Src/Asp.NetCore2/SqlSugar/Abstract/AdoProvider/AdoProvider.cs

@ -73,6 +73,20 @@ namespace SqlSugar
#endregion #endregion
#region Connection #region Connection
public virtual bool IsValidConnection()
{
try
{
using (OpenAlways())
{
return true;
}
}
catch (Exception)
{
return false;
}
}
public virtual void Open() public virtual void Open()
{ {
CheckConnection(); CheckConnection();

1
Src/Asp.NetCore2/SqlSugar/Interface/IAdo.cs

@ -164,6 +164,7 @@ namespace SqlSugar
void Close(); void Close();
void Open(); void Open();
SugarConnection OpenAlways(); SugarConnection OpenAlways();
bool IsValidConnection();
void CheckConnection(); void CheckConnection();
void BeginTran(); void BeginTran();

10
Src/Asp.NetCore2/SqlSugar/Realization/MySql/SqlBuilder/MySqlInsertBuilder.cs

@ -27,7 +27,8 @@ namespace SqlSugar
} }
} }
} }
public override object FormatValue(object value) int i = 0;
public object FormatValue(object value,string name)
{ {
var n = "N"; var n = "N";
if (this.Context.CurrentConnectionConfig.MoreSettings != null && this.Context.CurrentConnectionConfig.MoreSettings.DisableNvarchar) if (this.Context.CurrentConnectionConfig.MoreSettings != null && this.Context.CurrentConnectionConfig.MoreSettings.DisableNvarchar)
@ -72,7 +73,10 @@ namespace SqlSugar
} }
else if (type == UtilConstants.StringType || type == UtilConstants.ObjType) else if (type == UtilConstants.StringType || type == UtilConstants.ObjType)
{ {
return n+"'" + GetString(value).ToSqlFilter() + "'"; ++i;
var parameterName = this.Builder.SqlParameterKeyWord + name + i;
this.Parameters.Add(new SugarParameter(parameterName, value));
return parameterName;
} }
else else
{ {
@ -115,7 +119,7 @@ namespace SqlSugar
foreach (var item in groupList) foreach (var item in groupList)
{ {
batchInsetrSql.Append("("); batchInsetrSql.Append("(");
insertColumns = string.Join(",", item.Select(it => FormatValue(it.Value))); insertColumns = string.Join(",", item.Select(it => FormatValue(it.Value,it.PropertyName)));
batchInsetrSql.Append(insertColumns); batchInsetrSql.Append(insertColumns);
if (groupList.Last() == item) if (groupList.Last() == item)
{ {

10
Src/Asp.NetCore2/SqlSugar/Realization/MySql/SqlBuilder/MySqlUpdateBuilder.cs

@ -59,7 +59,7 @@ namespace SqlSugar
{ {
updateTable.Append(SqlTemplateBatchUnion); updateTable.Append(SqlTemplateBatchUnion);
} }
updateTable.Append("\r\n SELECT " + string.Join(",", columns.Select(it => string.Format(SqlTemplateBatchSelect, FormatValue(it.Value),this.Builder.GetTranslationColumnName(it.DbColumnName))))); updateTable.Append("\r\n SELECT " + string.Join(",", columns.Select(it => string.Format(SqlTemplateBatchSelect, FormatValue(it.Value,it.PropertyName),this.Builder.GetTranslationColumnName(it.DbColumnName)))));
++i; ++i;
} }
pageIndex++; pageIndex++;
@ -89,7 +89,8 @@ namespace SqlSugar
} }
return batchUpdateSql.ToString(); return batchUpdateSql.ToString();
} }
public override object FormatValue(object value) int i = 0;
public object FormatValue(object value,string name)
{ {
var n = "N"; var n = "N";
if (this.Context.CurrentConnectionConfig.MoreSettings != null&&this.Context.CurrentConnectionConfig.MoreSettings.DisableNvarchar) if (this.Context.CurrentConnectionConfig.MoreSettings != null&&this.Context.CurrentConnectionConfig.MoreSettings.DisableNvarchar)
@ -142,7 +143,10 @@ namespace SqlSugar
} }
else if (type == UtilConstants.StringType || type == UtilConstants.ObjType) else if (type == UtilConstants.StringType || type == UtilConstants.ObjType)
{ {
return n+"'" + GetString(value).ToSqlFilter() + "'"; ++i;
var parameterName = this.Builder.SqlParameterKeyWord + name + i;
this.Parameters.Add(new SugarParameter(parameterName, value));
return parameterName;
} }
else else
{ {

5
Src/Asp.NetCore2/SqlSugar/Realization/Oracle/SqlBuilder/OracleExpressionContext.cs

@ -57,6 +57,11 @@ namespace SqlSugar
} }
public partial class OracleMethod : DefaultDbMethod, IDbMethods public partial class OracleMethod : DefaultDbMethod, IDbMethods
{ {
public override string HasValue(MethodCallExpressionModel model)
{
var parameter = model.Args[0];
return string.Format("( {0} IS NOT NULL ) ", parameter.MemberName);
}
public override string DateDiff(MethodCallExpressionModel model) public override string DateDiff(MethodCallExpressionModel model)
{ {

Loading…
Cancel
Save