mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 18:52:50 +08:00
- 优化 IUpdate.IgnoreColumns/UpdateColumns 可对属性名,或字段名做设置;#95
This commit is contained in:
parent
17913a584d
commit
5acf0b9eb4
@ -1616,7 +1616,7 @@
|
|||||||
<summary>
|
<summary>
|
||||||
忽略的列
|
忽略的列
|
||||||
</summary>
|
</summary>
|
||||||
<param name="columns"></param>
|
<param name="columns">属性名,或者字段名</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.IUpdate`1.UpdateColumns(System.Linq.Expressions.Expression{System.Func{`0,System.Object}})">
|
<member name="M:FreeSql.IUpdate`1.UpdateColumns(System.Linq.Expressions.Expression{System.Func{`0,System.Object}})">
|
||||||
@ -1630,7 +1630,7 @@
|
|||||||
<summary>
|
<summary>
|
||||||
指定的列
|
指定的列
|
||||||
</summary>
|
</summary>
|
||||||
<param name="columns"></param>
|
<param name="columns">属性名,或者字段名</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.IUpdate`1.Set``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},``0)">
|
<member name="M:FreeSql.IUpdate`1.Set``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},``0)">
|
||||||
|
@ -49,7 +49,7 @@ namespace FreeSql
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 忽略的列
|
/// 忽略的列
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="columns"></param>
|
/// <param name="columns">属性名,或者字段名</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
IUpdate<T1> IgnoreColumns(string[] columns);
|
IUpdate<T1> IgnoreColumns(string[] columns);
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ namespace FreeSql
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 指定的列
|
/// 指定的列
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="columns"></param>
|
/// <param name="columns">属性名,或者字段名</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
IUpdate<T1> UpdateColumns(string[] columns);
|
IUpdate<T1> UpdateColumns(string[] columns);
|
||||||
|
|
||||||
|
@ -368,27 +368,16 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
public abstract List<T1> ExecuteUpdated();
|
public abstract List<T1> ExecuteUpdated();
|
||||||
public abstract Task<List<T1>> ExecuteUpdatedAsync();
|
public abstract Task<List<T1>> ExecuteUpdatedAsync();
|
||||||
|
|
||||||
public IUpdate<T1> IgnoreColumns(Expression<Func<T1, object>> columns)
|
public IUpdate<T1> IgnoreColumns(Expression<Func<T1, object>> columns) => IgnoreColumns(_commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null));
|
||||||
{
|
public IUpdate<T1> UpdateColumns(Expression<Func<T1, object>> columns) => UpdateColumns(_commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null));
|
||||||
var cols = _commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null).Distinct();
|
|
||||||
_ignore.Clear();
|
|
||||||
foreach (var col in cols) _ignore.Add(col, true);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
public IUpdate<T1> UpdateColumns(Expression<Func<T1, object>> columns)
|
|
||||||
{
|
|
||||||
var cols = _commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null).ToDictionary(a => a, a => true);
|
|
||||||
_ignore.Clear();
|
|
||||||
foreach (var col in _table.Columns.Values)
|
|
||||||
if (cols.ContainsKey(col.Attribute.Name) == false)
|
|
||||||
_ignore.Add(col.Attribute.Name, true);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IUpdate<T1> IgnoreColumns(string[] columns)
|
public IUpdate<T1> IgnoreColumns(string[] columns)
|
||||||
{
|
{
|
||||||
|
var cols = columns.ToDictionary(a => a);
|
||||||
_ignore.Clear();
|
_ignore.Clear();
|
||||||
foreach (var col in columns) _ignore.Add(col, true);
|
foreach (var col in _table.Columns.Values)
|
||||||
|
if (cols.ContainsKey(col.Attribute.Name) == true || cols.ContainsKey(col.CsName) == true)
|
||||||
|
_ignore.Add(col.Attribute.Name, true);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
public IUpdate<T1> UpdateColumns(string[] columns)
|
public IUpdate<T1> UpdateColumns(string[] columns)
|
||||||
@ -396,7 +385,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
var cols = columns.ToDictionary(a => a);
|
var cols = columns.ToDictionary(a => a);
|
||||||
_ignore.Clear();
|
_ignore.Clear();
|
||||||
foreach (var col in _table.Columns.Values)
|
foreach (var col in _table.Columns.Values)
|
||||||
if (cols.ContainsKey(col.Attribute.Name) == false)
|
if (cols.ContainsKey(col.Attribute.Name) == false && cols.ContainsKey(col.CsName) == false)
|
||||||
_ignore.Add(col.Attribute.Name, true);
|
_ignore.Add(col.Attribute.Name, true);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user