This commit is contained in:
sunkaixuan
2017-05-19 20:44:01 +08:00
parent b536bb40b3
commit bfc7b84128
3 changed files with 15 additions and 7 deletions

View File

@@ -10,7 +10,7 @@ namespace SqlSugar
public class InsertableProvider<T> : IInsertable<T> where T : class, new()
{
public SqlSugarClient Context { get; set; }
public IAdo Db { get { return Context.Ado; } }
public IAdo Ado { get { return Context.Ado; } }
public ISqlBuilder SqlBuilder { get; set; }
public InsertBuilder InsertBuilder { get; set; }
@@ -29,7 +29,7 @@ namespace SqlSugar
{
InsertBuilder.IsReturnIdentity = false;
PreToSql();
return Db.ExecuteCommand(InsertBuilder.ToSqlString(), InsertBuilder.Parameters.ToArray());
return Ado.ExecuteCommand(InsertBuilder.ToSqlString(), InsertBuilder.Parameters.ToArray());
}
public KeyValuePair<string, List<SugarParameter>> ToSql()
{
@@ -42,14 +42,14 @@ namespace SqlSugar
{
InsertBuilder.IsReturnIdentity = true;
PreToSql();
return Db.GetInt(InsertBuilder.ToSqlString(), InsertBuilder.Parameters.ToArray());
return Ado.GetInt(InsertBuilder.ToSqlString(), InsertBuilder.Parameters.ToArray());
}
#endregion
#region Setting
public IInsertable<T> IgnoreColumns(Expression<Func<T, object>> columns)
{
var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.Array);
var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.Array).GetResultArray();
this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Contains(it.EntityPropertyName)).ToList();
return this;
}
@@ -61,7 +61,7 @@ namespace SqlSugar
public IInsertable<T> InsertColumns(Expression<Func<T, object>> columns)
{
var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.Array);
var ignoreColumns = InsertBuilder.GetExpressionValue(columns, ResolveExpressType.Array).GetResultArray();
this.InsertBuilder.DbColumnInfoList = this.InsertBuilder.DbColumnInfoList.Where(it => ignoreColumns.Contains(it.EntityPropertyName)).ToList();
return this;
}

View File

@@ -13,20 +13,24 @@ namespace SqlSugar
public EntityInfo EntityInfo { get; internal set; }
public ISqlBuilder SqlBuilder { get; internal set; }
public UpdateBuilder UpdateBuilder { get; internal set; }
public IAdo Ado { get { return Context.Ado; } }
public object[] UpdateObjs { get; internal set; }
public int ExecuteCommand()
{
return 0;
return this.Ado.ExecuteCommand(UpdateBuilder.ToSqlString(), UpdateBuilder.Parameters.ToArray());
}
public IUpdateable<T> IgnoreColumns(Func<string, bool> ignoreColumMethod)
{
this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => !ignoreColumMethod(it.EntityPropertyName)).ToList();
return this;
}
public IUpdateable<T> IgnoreColumns(Expression<Func<T, object>> columns)
{
var ignoreColumns = UpdateBuilder.GetExpressionValue(columns, ResolveExpressType.Array).GetResultArray();
this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => !ignoreColumns.Contains(it.EntityPropertyName)).ToList();
return this;
}
@@ -56,6 +60,8 @@ namespace SqlSugar
public IUpdateable<T> UpdateColumns(Expression<Func<T, object>> columns)
{
var ignoreColumns = UpdateBuilder.GetExpressionValue(columns, ResolveExpressType.Array).GetResultArray();
this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => ignoreColumns.Contains(it.EntityPropertyName)).ToList();
return this;
}
@@ -74,6 +80,7 @@ namespace SqlSugar
}
public IUpdateable<T> With(string lockString)
{
this.UpdateBuilder.TableWithString = lockString;
return this;
}

View File

@@ -61,7 +61,7 @@ namespace SqlSugar
public string[] GetResultArray()
{
if (this._Result == null) return null;
return this.Result.ToString().Split(',');
return this.Result.ToString().TrimEnd(',').Split(',');
}
public string GetResultString()
@@ -100,6 +100,7 @@ namespace SqlSugar
}
switch (this._ResolveExpressType)
{
case ResolveExpressType.Array:
case ResolveExpressType.SelectSingle:
case ResolveExpressType.SelectMultiple:
parameter = parameter + ",";