- 增加 IUpdate.Join 联表更新功能;

This commit is contained in:
2881099
2023-03-10 20:42:32 +08:00
parent 39bb327022
commit a6c1981bd6
7 changed files with 627 additions and 14 deletions

View File

@@ -2871,6 +2871,33 @@
所有元素
</summary>
</member>
<member name="M:FreeSql.IUpdate`1.Join``1(FreeSql.ISelect{``0},System.Linq.Expressions.Expression{System.Func{`0,``0,System.Boolean}})">
<summary>
联表更新(危险操作),支持更复杂的联表更新<para></para>
fsql.Update&lt;T1&gt;()<para></para>
.Join(fsql.Select&lt;T1&gt;(), (a, b) => a.id == b.id)<para></para>
.Set((a, b) => a.name == b.name)<para></para>
.Set((a, b) => a.time == b.time2)<para></para>
.ExecuteAffrows();
</summary>
<typeparam name="T2"></typeparam>
<param name="query"></param>
<param name="on"></param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdate`1.Join``1(System.Linq.Expressions.Expression{System.Func{`0,``0,System.Boolean}})">
<summary>
联表更新(危险操作)<para></para>
fsql.Update&lt;T1&gt;()<para></para>
.Join&lt;T2&gt;((a, b) => a.id == b.id)<para></para>
.Set((a, b) => a.name == b.name)<para></para>
.Set((a, b) => a.time == b.time2)<para></para>
.ExecuteAffrows();
</summary>
<typeparam name="T2"></typeparam>
<param name="on"></param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdate`1.WithTransaction(System.Data.Common.DbTransaction)">
<summary>
指定事务对象
@@ -3003,7 +3030,7 @@
</member>
<member name="M:FreeSql.IUpdate`1.Set``1(System.Linq.Expressions.Expression{System.Func{`0,``0}})">
<summary>
设置列的新值为基础上增加格式Set(a => a.Clicks + 1) 相当于 clicks=clicks+1
设置列的新值为基础上增加格式Set(a => a.Clicks + 1) 相当于 clicks=clicks+1
<para></para>
指定更新格式Set(a => new T { Clicks = a.Clicks + 1, Time = DateTime.Now }) 相当于 set clicks=clicks+1,time='2019-06-19....'
</summary>
@@ -3013,7 +3040,7 @@
</member>
<member name="M:FreeSql.IUpdate`1.SetIf``1(System.Boolean,System.Linq.Expressions.Expression{System.Func{`0,``0}})">
<summary>
设置列的新值为基础上增加格式Set(a => a.Clicks + 1) 相当于 clicks=clicks+1
设置列的新值为基础上增加格式Set(a => a.Clicks + 1) 相当于 clicks=clicks+1
<para></para>
指定更新格式Set(a => new T { Clicks = a.Clicks + 1, Time = DateTime.Now }) 相当于 set clicks=clicks+1,time='2019-06-19....'
</summary>
@@ -3136,6 +3163,125 @@
</summary>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.WithTransaction(System.Data.Common.DbTransaction)">
<summary>
指定事务对象
</summary>
<param name="transaction"></param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.WithConnection(System.Data.Common.DbConnection)">
<summary>
指定事务对象
</summary>
<param name="connection"></param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.CommandTimeout(System.Int32)">
<summary>
命令超时设置(秒)
</summary>
<param name="timeout"></param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.Set``1(System.Linq.Expressions.Expression{System.Func{`0,``0}},``0)">
<summary>
设置列的固定新值Set(a => a.Name, "newvalue")
</summary>
<typeparam name="TMember"></typeparam>
<param name="column">lambda选择列</param>
<param name="value">新值</param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.SetIf``1(System.Boolean,System.Linq.Expressions.Expression{System.Func{`0,``0}},``0)">
<summary>
设置列的固定新值Set(a => a.Name, "newvalue")
</summary>
<typeparam name="TMember"></typeparam>
<param name="condition">true 时生效</param>
<param name="column">lambda选择列</param>
<param name="value">新值</param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.Set(System.Linq.Expressions.Expression{System.Func{`0,`1,System.Boolean}})">
<summary>
设置列的联表值,格式:<para></para>
Set((a, b) => a.Clicks == b.xxx)<para></para>
Set((a, b) => a.Clicks == a.Clicks + 1)
</summary>
<param name="exp"></param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.SetIf(System.Boolean,System.Linq.Expressions.Expression{System.Func{`0,`1,System.Boolean}})">
<summary>
设置列的联表值,格式:<para></para>
Set((a, b) => a.Clicks == b.xxx)<para></para>
Set((a, b) => a.Clicks == a.Clicks + 1)
<para></para>
</summary>
<param name="condition">true 时生效</param>
<param name="exp"></param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.SetRaw(System.String,System.Object)">
<summary>
设置值自定义SQL语法SetRaw("title = @title", new { title = "newtitle" })<para></para>
提示parms 参数还可以传 Dictionary&lt;string, object&gt;
</summary>
<param name="sql">sql语法</param>
<param name="parms">参数</param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.Where(System.Linq.Expressions.Expression{System.Func{`0,`1,System.Boolean}})">
<summary>
lambda表达式条件仅支持实体基础成员不包含导航对象
</summary>
<param name="exp">lambda表达式条件</param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.WhereIf(System.Boolean,System.Linq.Expressions.Expression{System.Func{`0,`1,System.Boolean}})">
<summary>
lambda表达式条件仅支持实体基础成员不包含导航对象
</summary>
<param name="condition">true 时生效</param>
<param name="exp">lambda表达式条件</param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.Where(System.String,System.Object)">
<summary>
原生sql语法条件Where("id = @id", new { id = 1 })<para></para>
提示parms 参数还可以传 Dictionary&lt;string, object&gt;
</summary>
<param name="sql">sql语法条件</param>
<param name="parms">参数</param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.DisableGlobalFilter(System.String[])">
<summary>
禁用全局过滤功能,不传参数时将禁用所有
</summary>
<param name="name">零个或多个过滤器名字</param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.AsTable(System.String)">
<summary>
设置表名
</summary>
<param name="tableName"></param>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.ToSql">
<summary>
返回即将执行的SQL语句
</summary>
<returns></returns>
</member>
<member name="M:FreeSql.IUpdateJoin`2.ExecuteAffrows">
<summary>
执行SQL语句返回影响的行数
</summary>
<returns></returns>
</member>
<member name="P:FreeSql.IAdo.MasterPool">
<summary>
主库连接池