Update Deleteable

This commit is contained in:
sunkaixuan 2017-06-22 21:30:53 +08:00
parent 20deae1124
commit 3e60f8465f
4 changed files with 41 additions and 4 deletions

View File

@ -26,7 +26,7 @@ namespace SqlSugar
{ {
DeleteBuilder.EntityInfo = this.Context.EntityProvider.GetEntityInfo<T>(); DeleteBuilder.EntityInfo = this.Context.EntityProvider.GetEntityInfo<T>();
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();
return Db.ExecuteCommand(sql, paramters); return Db.ExecuteCommand(sql, paramters);
} }
@ -63,7 +63,7 @@ namespace SqlSugar
primaryKeyValues.Add(value); primaryKeyValues.Add(value);
} }
var inValueString = primaryKeyValues.ToArray().ToJoinSqlInVals(); var inValueString = primaryKeyValues.ToArray().ToJoinSqlInVals();
Where(string.Format(DeleteBuilder.WhereInTemplate,SqlBuilder.GetTranslationColumnName(primaryFields.Single()), inValueString)); Where(string.Format(DeleteBuilder.WhereInTemplate, SqlBuilder.GetTranslationColumnName(primaryFields.Single()), inValueString));
} }
else else
{ {
@ -114,7 +114,8 @@ namespace SqlSugar
DeleteBuilder.WhereInfos.Add(whereString); DeleteBuilder.WhereInfos.Add(whereString);
if (parameters != null) if (parameters != null)
{ {
if (DeleteBuilder.Parameters == null) { if (DeleteBuilder.Parameters == null)
{
DeleteBuilder.Parameters = new List<SugarParameter>(); DeleteBuilder.Parameters = new List<SugarParameter>();
} }
DeleteBuilder.Parameters.AddRange(Context.Ado.GetParameters(parameters)); DeleteBuilder.Parameters.AddRange(Context.Ado.GetParameters(parameters));
@ -122,6 +123,21 @@ namespace SqlSugar
return this; return this;
} }
public IDeleteable<T> Where(string whereString, SugarParameter parameter)
{
DeleteBuilder.Parameters.Add(parameter);
return this;
}
public IDeleteable<T> Where(string whereString, SugarParameter[] parameters)
{
DeleteBuilder.Parameters.AddRange(parameters);
return this;
}
public IDeleteable<T> Where(string whereString, List<SugarParameter> parameters)
{
DeleteBuilder.Parameters.AddRange(parameters);
return this;
}
public IDeleteable<T> In<PkType>(List<PkType> primaryKeyValues) public IDeleteable<T> In<PkType>(List<PkType> primaryKeyValues)
{ {
if (primaryKeyValues == null || primaryKeyValues.Count() == 0) if (primaryKeyValues == null || primaryKeyValues.Count() == 0)
@ -143,7 +159,7 @@ namespace SqlSugar
string primaryField = null; string primaryField = null;
primaryField = GetPrimaryKeys().FirstOrDefault(); primaryField = GetPrimaryKeys().FirstOrDefault();
Check.ArgumentNullException(primaryField, "Table " + tableName + " with no primarykey"); Check.ArgumentNullException(primaryField, "Table " + tableName + " with no primarykey");
Where(string.Format(DeleteBuilder.WhereInTemplate,SqlBuilder.GetTranslationColumnName(primaryField), primaryKeyValues.ToJoinSqlInVals())); Where(string.Format(DeleteBuilder.WhereInTemplate, SqlBuilder.GetTranslationColumnName(primaryField), primaryKeyValues.ToJoinSqlInVals()));
return this; return this;
} }

View File

@ -19,6 +19,9 @@ namespace SqlSugar
IDeleteable<T> In<PkType>(PkType[] primaryKeyValues); IDeleteable<T> In<PkType>(PkType[] primaryKeyValues);
IDeleteable<T> In<PkType>(List<PkType> primaryKeyValues); IDeleteable<T> In<PkType>(List<PkType> primaryKeyValues);
IDeleteable<T> Where(string whereString,object parameters=null); IDeleteable<T> Where(string whereString,object parameters=null);
IDeleteable<T> Where(string whereString, SugarParameter parameter);
IDeleteable<T> Where(string whereString, SugarParameter[] parameters);
IDeleteable<T> Where(string whereString, List<SugarParameter> parameters);
KeyValuePair<string, List<SugarParameter>> ToSql(); KeyValuePair<string, List<SugarParameter>> ToSql();
} }
} }

View File

@ -123,6 +123,21 @@ namespace SqlSugar
return this; return this;
} }
public IDeleteable<T> Where(string whereString, SugarParameter parameter)
{
DeleteBuilder.Parameters.Add(parameter);
return this;
}
public IDeleteable<T> Where(string whereString, SugarParameter[] parameters)
{
DeleteBuilder.Parameters.AddRange(parameters);
return this;
}
public IDeleteable<T> Where(string whereString, List<SugarParameter> parameters)
{
DeleteBuilder.Parameters.AddRange(parameters);
return this;
}
public IDeleteable<T> In<PkType>(List<PkType> primaryKeyValues) public IDeleteable<T> In<PkType>(List<PkType> primaryKeyValues)
{ {
if (primaryKeyValues == null || primaryKeyValues.Count() == 0) if (primaryKeyValues == null || primaryKeyValues.Count() == 0)

View File

@ -19,6 +19,9 @@ namespace SqlSugar
IDeleteable<T> In<PkType>(PkType[] primaryKeyValues); IDeleteable<T> In<PkType>(PkType[] primaryKeyValues);
IDeleteable<T> In<PkType>(List<PkType> primaryKeyValues); IDeleteable<T> In<PkType>(List<PkType> primaryKeyValues);
IDeleteable<T> Where(string whereString, object parameters = null); IDeleteable<T> Where(string whereString, object parameters = null);
IDeleteable<T> Where(string whereString, SugarParameter parameter);
IDeleteable<T> Where(string whereString, SugarParameter[] parameters);
IDeleteable<T> Where(string whereString, List<SugarParameter> parameters);
KeyValuePair<string, List<SugarParameter>> ToSql(); KeyValuePair<string, List<SugarParameter>> ToSql();
} }
} }