更新

SqlSugar更新分为2大类写法,1种是传实体对象的方式 这种是以实体对象为核心进行更新,不传实体对象这种是以表达式为核心进行更新

更新 - 图1

传对象的用法

根据实体更新(主键要有值,主键是更新条件)

更新 - 图2

4.2.3添加了WhereColumns 虽然XId不是主键但是 XId作为更新条件

更新 - 图3

只更新实体里面的Name列(主键要有值,主键是更新条件)

更新 - 图4

更新 Name和 TestId 以外的所有列 (主键要有值,主键是更新条件)

更新 - 图5

更新NAME 以外的所有列

更新 - 图6

使用锁

更新 - 图7

批量更新(主键要有值,主键是更新条件)

更新 - 图8

实体更新,并且给Name重新赋值 ,其它列也会更新

更新 - 图9

只更新Name并且 Name的值等于Name+1, 如果updateObj值为NULL一定要加WHERE才可以

更新 - 图10

第一种updateable()有参数的,下面二种是没参数的注意下区别

更新实体,更新条件是根据表达式

更新 - 图11

是NULL的列不更新

更新 - 图12

4.6.4.8 版本支持了不需要泛型的字典

更新 - 图13

4.2.2 更新 匿名对象和字典的支持

更新 - 图14

不传对象的用法

根据表达式中的列更新 ,只更新 Name和CreateTime 条件是id=11,比较常用

更新 - 图15

别名表

更新 - 图16

4.6.0.7 联表更新

更新 - 图17

更新 - 图18

只更新Name并且 Name的值等于Name+1

更新 - 图19

技巧功能

更新 - 图20

更新对数据的 版本控制

例如我想验证我表单传过来的数据在数据库是否是最新的版本,不是最新版本抛出提示,

参考这个DEMO

https://github.com/sunkaixuan/SqlSugar/blob/dev/Src/Asp.Net/SqlServerTest/Demos/F_VersionValidation.cs