[bug] UpdateColumns使用匿名对象指定列时会有bug 返回
代码来自 SqlSugar\Src\Asp.NetCore2\SqlSeverTest\9_Update.cs 。
注意看红框里的代码,使用UpdateColumns方法且通过匿名对象指定更新列时,只会有一个列生效,只更新了"Name",可以看右边生成的SQL。我后面在匿名对象里添加“Remark”属性,生成的sql也只更新了"Name"。
使用强类型StudentWithSnowflake没有这个问题。
我简单调试了一下代码,代码懂一点点。我把执行的“ArraySingle”方法换成执行“Select”后,生成的sql就正常了。
最后,请教大佬一个问题:一次http请求中,要使用事务,则的所有数据库操作必须是同一个Connection,并且由这个Connection创建事务。我的这个理解是对的吧?
如果这个理解是对的,能简单说下多库事务原理吗?多库操作肯定Connection都不同了。
热忱回答(13)
-
fate sta VIP02023/12/1
你语法错误
0 回复 -
fate sta VIP02023/12/1
认真把文档 更新 : 右边的标题1和标题2看懂
0 回复 -
fate sta VIP02023/12/1
不要造语法
0 回复 -
fate sta VIP02023/12/10 回复
-
fate sta VIP02023/12/1
2边的API是不一样
0 回复 -
寻己Tenleft VIP02023/12/1
@fate sta:没有造语法,这是官方给的例子,是官方代码测试代码。你好,你是作者本人吗
0 回复 -
寻己Tenleft VIP02023/12/1
代码改成这样,生成的sql是正常的
db.Updateable(updateObj).UpdateColumns(it => new { it.Name, it.Date }).ExecuteCommand();
0 回复 -
寻己Tenleft VIP02023/12/1
@fate sta:
明白,UpdateColums只是设置更新列,更新数据还是来自updateObj,官方代码笔误了。
最后,请教大佬一个问题:一次http请求中,要使用事务,则的所有数据库操作必须是同一个Connection,并且由这个Connection创建事务。我的这个理解是对的吧?
如果这个理解是对的,能简单说下多库事务原理吗?多库操作肯定Connection都不同了。
0 回复 -
fate sta VIP02023/12/1
哪里笔误了 ,文档并没有写出UpdateColumns可以赋值
0 回复 -
fate sta VIP02023/12/1
他的作用是设置更新哪几列
0 回复 -
fate sta VIP02023/12/1
多租户事务:
0 回复 -
寻己Tenleft VIP02023/12/2
图片里的代码来自 SqlSugar\Src\Asp.NetCore2\SqlSeverTest\9_Update.cs,不是我写的。
0 回复 -
fate sta VIP02023/12/2
@寻己Tenleft:好的 源码DEMO写错了
0 回复