From bfc7b84128511f5c2355c4255568c448b9366db9 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 19 May 2017 20:44:01 +0800 Subject: [PATCH] - --- .../Abstract/InsertableProvider/InsertableProvider.cs | 10 +++++----- SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs | 9 ++++++++- SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs | 3 ++- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs b/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs index d36b8739a..3fccd6d89 100644 --- a/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs +++ b/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs @@ -10,7 +10,7 @@ namespace SqlSugar public class InsertableProvider : IInsertable 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> 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 IgnoreColumns(Expression> 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 InsertColumns(Expression> 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; } diff --git a/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs b/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs index 29734b124..889c0cf8a 100644 --- a/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs +++ b/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs @@ -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 IgnoreColumns(Func ignoreColumMethod) { + this.UpdateBuilder.DbColumnInfoList = this.UpdateBuilder.DbColumnInfoList.Where(it => !ignoreColumMethod(it.EntityPropertyName)).ToList(); return this; } public IUpdateable IgnoreColumns(Expression> 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 UpdateColumns(Expression> 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 With(string lockString) { + this.UpdateBuilder.TableWithString = lockString; return this; } diff --git a/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs b/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs index 2b00a6a28..b12c294f3 100644 --- a/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs +++ b/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs @@ -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 + ",";