mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-20 18:48:09 +08:00
-
This commit is contained in:
@@ -28,6 +28,7 @@ namespace SqlSugar
|
|||||||
string sql = DeleteBuilder.ToSqlString();
|
string sql = DeleteBuilder.ToSqlString();
|
||||||
var paramters = DeleteBuilder.Parameters == null ? null : DeleteBuilder.Parameters.ToArray();
|
var paramters = DeleteBuilder.Parameters == null ? null : DeleteBuilder.Parameters.ToArray();
|
||||||
RestoreMapping();
|
RestoreMapping();
|
||||||
|
AutoRemoveDataCache();
|
||||||
return Db.ExecuteCommand(sql, paramters);
|
return Db.ExecuteCommand(sql, paramters);
|
||||||
}
|
}
|
||||||
public bool ExecuteCommandHasChange()
|
public bool ExecuteCommandHasChange()
|
||||||
@@ -270,6 +271,17 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AutoRemoveDataCache()
|
||||||
|
{
|
||||||
|
var moreSetts = this.Context.CurrentConnectionConfig.MoreSettings;
|
||||||
|
var extService = this.Context.CurrentConnectionConfig.ConfigureExternalServices;
|
||||||
|
if (moreSetts != null && moreSetts.IsAutoRemoveDataCache && extService != null && extService.DataInfoCacheService != null)
|
||||||
|
{
|
||||||
|
this.RemoveDataCache();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private IDeleteable<T> CopyDeleteable()
|
private IDeleteable<T> CopyDeleteable()
|
||||||
{
|
{
|
||||||
var asyncContext = this.Context.Utilities.CopyContext(true);
|
var asyncContext = this.Context.Utilities.CopyContext(true);
|
||||||
|
@@ -32,6 +32,7 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
InsertBuilder.IsReturnIdentity = false;
|
InsertBuilder.IsReturnIdentity = false;
|
||||||
PreToSql();
|
PreToSql();
|
||||||
|
AutoRemoveDataCache();
|
||||||
string sql = InsertBuilder.ToSqlString();
|
string sql = InsertBuilder.ToSqlString();
|
||||||
RestoreMapping();
|
RestoreMapping();
|
||||||
return Ado.ExecuteCommand(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray());
|
return Ado.ExecuteCommand(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray());
|
||||||
@@ -41,6 +42,7 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
InsertBuilder.IsReturnIdentity = true;
|
InsertBuilder.IsReturnIdentity = true;
|
||||||
PreToSql();
|
PreToSql();
|
||||||
|
AutoRemoveDataCache();
|
||||||
string sql = InsertBuilder.ToSqlString();
|
string sql = InsertBuilder.ToSqlString();
|
||||||
RestoreMapping();
|
RestoreMapping();
|
||||||
return new KeyValuePair<string, List<SugarParameter>>(sql, InsertBuilder.Parameters);
|
return new KeyValuePair<string, List<SugarParameter>>(sql, InsertBuilder.Parameters);
|
||||||
@@ -49,6 +51,7 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
InsertBuilder.IsReturnIdentity = true;
|
InsertBuilder.IsReturnIdentity = true;
|
||||||
PreToSql();
|
PreToSql();
|
||||||
|
AutoRemoveDataCache();
|
||||||
string sql = InsertBuilder.ToSqlString();
|
string sql = InsertBuilder.ToSqlString();
|
||||||
RestoreMapping();
|
RestoreMapping();
|
||||||
return Ado.GetInt(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray());
|
return Ado.GetInt(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray());
|
||||||
@@ -57,6 +60,7 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
InsertBuilder.IsReturnIdentity = true;
|
InsertBuilder.IsReturnIdentity = true;
|
||||||
PreToSql();
|
PreToSql();
|
||||||
|
AutoRemoveDataCache();
|
||||||
string sql = InsertBuilder.ToSqlString();
|
string sql = InsertBuilder.ToSqlString();
|
||||||
RestoreMapping();
|
RestoreMapping();
|
||||||
return Convert.ToInt64( Ado.GetScalar(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray()));
|
return Convert.ToInt64( Ado.GetScalar(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray()));
|
||||||
@@ -194,6 +198,15 @@ namespace SqlSugar
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Protected Methods
|
#region Protected Methods
|
||||||
|
private void AutoRemoveDataCache()
|
||||||
|
{
|
||||||
|
var moreSetts = this.Context.CurrentConnectionConfig.MoreSettings;
|
||||||
|
var extService = this.Context.CurrentConnectionConfig.ConfigureExternalServices;
|
||||||
|
if (moreSetts != null && moreSetts.IsAutoRemoveDataCache && extService != null && extService.DataInfoCacheService != null)
|
||||||
|
{
|
||||||
|
this.RemoveDataCache();
|
||||||
|
}
|
||||||
|
}
|
||||||
protected virtual void PreToSql()
|
protected virtual void PreToSql()
|
||||||
{
|
{
|
||||||
#region Identities
|
#region Identities
|
||||||
|
@@ -28,6 +28,7 @@ namespace SqlSugar
|
|||||||
public virtual int ExecuteCommand()
|
public virtual int ExecuteCommand()
|
||||||
{
|
{
|
||||||
PreToSql();
|
PreToSql();
|
||||||
|
AutoRemoveDataCache();
|
||||||
Check.Exception(UpdateBuilder.WhereValues.IsNullOrEmpty() && GetPrimaryKeys().IsNullOrEmpty(), "You cannot have no primary key and no conditions");
|
Check.Exception(UpdateBuilder.WhereValues.IsNullOrEmpty() && GetPrimaryKeys().IsNullOrEmpty(), "You cannot have no primary key and no conditions");
|
||||||
string sql = UpdateBuilder.ToSqlString();
|
string sql = UpdateBuilder.ToSqlString();
|
||||||
RestoreMapping();
|
RestoreMapping();
|
||||||
@@ -93,7 +94,15 @@ namespace SqlSugar
|
|||||||
UpdateBuilder.SetValues.Add(new KeyValuePair<string, string>(leftResultString, resultString));
|
UpdateBuilder.SetValues.Add(new KeyValuePair<string, string>(leftResultString, resultString));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
private void AutoRemoveDataCache()
|
||||||
|
{
|
||||||
|
var moreSetts = this.Context.CurrentConnectionConfig.MoreSettings;
|
||||||
|
var extService = this.Context.CurrentConnectionConfig.ConfigureExternalServices;
|
||||||
|
if (moreSetts != null && moreSetts.IsAutoRemoveDataCache && extService!=null&& extService.DataInfoCacheService!=null)
|
||||||
|
{
|
||||||
|
this.RemoveDataCache();
|
||||||
|
}
|
||||||
|
}
|
||||||
public KeyValuePair<string, List<SugarParameter>> ToSql()
|
public KeyValuePair<string, List<SugarParameter>> ToSql()
|
||||||
{
|
{
|
||||||
PreToSql();
|
PreToSql();
|
||||||
|
Reference in New Issue
Block a user