FreeSql学习笔记——6.修改
指定列更新
_freeSql.Update<Student>(1)
.Set(x=>x.Name,"1111")
.ExecuteAffrows();
//UPDATE [Student] SET [Name] = @p_0 WHERE([Id] = 1)
条件更新
_freeSql.Update<Student>()
.Set(x => x.Name, "zz")
.Where(x => x.Id > 10)
.ExecuteAffrows();
//UPDATE [Student] SET [Name] = @p_0 WHERE([Id] > 10)
实体更新(官方推荐)
var student = new Student { Id = 1,Name="zz" };
_freeSql.Update<Student>()
.SetSource(student)
.ExecuteAffrows();
//UPDATE [Student] SET [Name] = @p_0, [Age] = @p_1, [Status] = @p_2, [AddTime] = @p_3, [Remark] = @p_4 WHERE([Id] = 1)
_freeSql.Update<Student>()
.SetSourceIgnore(student, x => x == null)//忽略空列
.ExecuteAffrows();
//UPDATE [Student] SET [Name] = @p_0, [Age] = @p_1, [Status] = @p_2, [AddTime] = @p_3 WHERE([Id] = 1)
指定列、忽略列
var student = new Student { Id = 1, Name = "zz", AddTime = DateTime.Now };
_freeSql.Update<Student>()
.SetSource(student)
.UpdateColumns(a => a.Name)
.ExecuteAffrows();
//UPDATE [Student] SET [Name] = @p_0 WHERE([Id] = 1)
_freeSql.Update<Student>()
.SetSource(student)
.IgnoreColumns(x => new { x.Age, x.Status })
.ExecuteAffrows();
//UPDATE [Student] SET [Name] = @p_0, [AddTime] = @p_1, [Remark] = @p_2 WHERE([Id] = 1)
自定义SQL
_freeSql.Update<Student>()
.SetRaw("Name=@name,Age=@age", new { name = "zz", age = 10 })
.Where("Id=@id", 1)
.ExecuteAffrows();
//UPDATE [Student] SET Name=@name,Age=@age
//WHERE (Id=@id)
Dto更新
_freeSql.Update<Student>()
.SetDto(new { Name = "z", abc = 2 })
.Where(x => x.Id == 1)
.ExecuteAffrows();
//UPDATE [Student] SET [Name] = @p_0 WHERE([Id] = 1)
字典更新
var dic = new Dictionary<string, object>();
dic.Add("Id", 1);
dic.Add("Name", "zz");
dic.Add("Addtime", DateTime.Now);
_freeSql.UpdateDict(dic).AsTable(nameof(Student)).WherePrimary("Id").ExecuteAffrows();
//UPDATE [Student] SET [Name] = @p_0, [Addtime] = @p_1 WHERE([Id] = 1)
FreeSql学习笔记——6.修改的更多相关文章
- WPF-学习笔记 动态修改控件Margin的值
原文:WPF-学习笔记 动态修改控件Margin的值 举例说明:动态添加一个TextBox到Grid中,并设置它的Margin: TextBox text = new TextBox(); t_gri ...
- CUBRID学习笔记 6 修改用户密码
修改密码 可以在web管理中修改. 还有另外两种体位 1 语句 ALTER USER user_name PASSWORD 'any_password_here_in_single_quotes'; ...
- MySQL学习笔记(5) - 修改和删除数据库
1.完整语句 ALTER {DATABASE | SCHEMA} [db_name] [DEFAULT] CHARACHER SET [=] charset_name; 2.修改数据库的编码方式 al ...
- MySQL学习笔记(2) - 修改MySQL提示符的两种方法
学习于慕课网 http://www.imooc.com/video/1806 1.方法一: cmd中处于未登录状态时,输入 mysql -uroot -p自己的密码 --prompt 新的提示符 示例 ...
- docker学习笔记:修改无法启动的容器中的内容
我们可能会碰到这样的一个问题,在容器执行过程中,修改了容器的内容(如配置文件信息),但因为修改出了问题.导致容器关闭后,无法启动. 这事需要重新修改配置文件. 正常情况下可以通过 docker exe ...
- K8S学习笔记之修改K8S的api-server证书
K8S的api-server证书包含很多IP和域名,有时候后期才发现证书内有错误,需要重新生成该证书. 修改server-csr.json,修改后基于原来的ca证书重新生成server.perm s ...
- mongodb 学习笔记 2 --- 修改器
修改器是为了爱update文档时,不需要传入整个文档就能修改当前文档的某个属性值,修改器用法如下: 假设数据库中foo集合中存在如下文档:{"name":"jack&qu ...
- Sharepoint2013搜索学习笔记之修改搜索拓扑(三)
搜索服务新建好之后可以从管理中心,应用程序管理页面,进入搜索服务的管理页面,进入管理页面之后可以看到当前sharepoint场的搜索拓扑结构. 如果sharepoint场内有多台服务器,需要将搜索组件 ...
- 2017/01/20 学习笔记 关于修改和重打jar包
背景 客户提供了jar包,但发现db表中缺少一个字段,db追加以后需要修改jar包中的source. 操作 如何修改jar包中的source并重新打一个新的jar包,做了如下操作. ① 开包 解压j ...
- git 学习笔记 ---撤销修改
自然,你是不会犯错的.不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行: $ cat readme.txt Git is a distributed version co ...
随机推荐
- 面试官:来谈谈Vue3的provide和inject实现多级传递的原理
前言 没有看过provide和inject函数源码的小伙伴可能觉得他们实现数据多级传递非常神秘,其实他的源码非常简单,这篇文章欧阳来讲讲provide和inject函数是如何实现数据多级传递的.ps: ...
- vue ssr error: TypeError: Cannot read property 'replace' of undefined
在开发vue ssr应用时, yarn build yarn start 之后启动正常: info Server running at: http://0.0.0.0:6606 在访问页面时,发现页 ...
- HTML 面试题
.code { background-color: rgba(246, 246, 246, 1); color: rgba(232, 62, 140, 1) } DOCTYPE的作用? DOCTYPE ...
- 开启Word、Excel、PPT时速度很慢的一种解决方法
本文介绍基于修改加载项,解决Microsoft Office系列软件开启速度较慢的办法. 最近,发现Excel软件的打开速度越来越慢,会在一定程度上影响工作效率.因此尝试对此加以解决.其中,本 ...
- 【uni-app】【01】底部导航栏与页面切换
1.(配置文件在哪)uni-app 路由控制是在 pages.json文件中的. 2.(基本配置项有哪些)初学的时候主要有三个配置项,①pages ② globalStyle ③ tabbar [!T ...
- apache install
https://www.gnu.org/software/libtool/ ./configure --prefix=/usr/local/libtoolmakesudo make install h ...
- Qt编写物联网管理平台40-类型种类
一.前言 为了增强本系统的拓展性,做成通用的物联网管理平台,特意将控制器主设备类型.探测器子设备类型.对应种类符号等信息,全部做成表格可自定义添加和修改,这样在控制器信息表和探测器信息表管理的时候,可 ...
- IM开发干货分享:如何优雅的实现大量离线消息的可靠投递
1.点评 IM聊天消息的可靠投递,是每个线上产品都要考虑的IM热点技术问题. IM聊天消息能保证可靠送达,对于用户来说,就好比把钱存在银行不怕被偷一样,是信任的问题.试想,如果用户能明显感知到聊天消息 ...
- [Flink] Flink运行过程中Flink作业运行崩溃,且`TaskManager`报:"Association with remote system [akka.tcp://flink@flink-236429.ns-69020:6123] has failed, address is now gated for [50] ms. Reason: [Disassociated]"
1 问题描述 一个长期正常运行的FlinkSqlCdcJob(Flink 1.12 . Flink CDC 1.3.0),运行崩溃,且TaskManager的日志(taskmanager.log)报: ...
- WPF 动态加载嵌入主程序的DLL
WPF 动态加载嵌入主程序的DLL,好处是节省文件数量,坏处是启动影响加载速度. 首先将DLL添加进项目,选择添加现有项,设置生成操作为"嵌入资源". 代码: public App ...