- 增加 IUpdate.SetSourceIgnore 方法,可实现忽略 null 属性的更新;

This commit is contained in:
28810
2020-05-22 18:20:28 +08:00
parent 97d8c39e1a
commit 99f0dd7391
19 changed files with 246 additions and 21 deletions

View File

@ -57,28 +57,41 @@ namespace FreeSql
/// <param name="source">实体集合</param>
/// <returns></returns>
IUpdate<T1> SetSource(IEnumerable<T1> source);
/// <summary>
/// 忽略的列IgnoreColumns(a => a.Name) | IgnoreColumns(a => new{a.Name,a.Time}) | IgnoreColumns(a => new[]{"name","time"})
/// 更新数据,设置更新的实体,同时设置忽略的列<para></para>
/// 忽略 null 属性fsql.Update&lt;T&gt;().SetSourceAndIgnore(item, colval => colval == null)<para></para>
/// 注意:参数 ignore 与 IUpdate.IgnoreColumns/UpdateColumns 不能同时使用
/// </summary>
/// <param name="source">实体</param>
/// <param name="ignore">属性值忽略判断, true忽略</param>
/// <returns></returns>
IUpdate<T1> SetSourceIgnore(T1 source, Func<object, bool> ignore);
/// <summary>
/// 忽略的列IgnoreColumns(a => a.Name) | IgnoreColumns(a => new{a.Name,a.Time}) | IgnoreColumns(a => new[]{"name","time"})<para></para>
/// 注意:不能与 UpdateColumns 不能同时使用
/// </summary>
/// <param name="columns">lambda选择列</param>
/// <returns></returns>
IUpdate<T1> IgnoreColumns(Expression<Func<T1, object>> columns);
/// <summary>
/// 忽略的列
/// 忽略的列<para></para>
/// 注意:不能与 UpdateColumns 不能同时使用
/// </summary>
/// <param name="columns">属性名,或者字段名</param>
/// <returns></returns>
IUpdate<T1> IgnoreColumns(string[] columns);
/// <summary>
/// 指定的列UpdateColumns(a => a.Name) | UpdateColumns(a => new{a.Name,a.Time}) | UpdateColumns(a => new[]{"name","time"})
/// 指定的列UpdateColumns(a => a.Name) | UpdateColumns(a => new{a.Name,a.Time}) | UpdateColumns(a => new[]{"name","time"})<para></para>
/// 注意:不能与 IgnoreColumns 不能同时使用
/// </summary>
/// <param name="columns">lambda选择列</param>
/// <returns></returns>
IUpdate<T1> UpdateColumns(Expression<Func<T1, object>> columns);
/// <summary>
/// 指定的列
/// 指定的列<para></para>
/// 注意:不能与 IgnoreColumns 同时使用
/// </summary>
/// <param name="columns">属性名,或者字段名</param>
/// <returns></returns>