SqlSugar常用增删改操作
一.添加数据
特别说明:
1.特别说明:对于自增长列的表插入数据后,当前自增长列的字段,仍旧为0,但可以通过Insert方法的返回值来获取
SqlSugarClient db = SugarContext.GetInstance();
//插入单条
db.Insert<student>(new student()
{
sno = "",
sname = "张三丰",
ssex = "男",
sbirthday = new DateTime(, , ),
@class = ""
}); //特别说明:对于自增长列的表插入数据后,当前自增长列的字段,仍旧为0
//但可以通过Insert方法的返回值来获取
UserInfo user1 = new UserInfo()
{
Name = "ceshi"
};
object idResult = db.Insert<UserInfo>(user1);
Console.WriteLine(user1.ToJsonString());
Console.WriteLine(idResult); //插入多条
List<student> stuList = new List<student>() {
new student() {
sno = "",
sname = "张无忌",
ssex = "男",
sbirthday = new DateTime(, , ),
@class = ""
},
new student() {
sno = "",
sname = "花无缺",
ssex = "男",
sbirthday = new DateTime(, , ),
@class = ""
}};
db.InsertRange(stuList); //设置不插入列,注意,这是全局设置,当执行完对应的操作需要清空
db.DisableInsertColumns = new string[] { "ssex", "sbirthday", "class" };
db.Insert(new student()
{
sno = "",
sname = "小明"
});
db.DisableInsertColumns = null;
Console.WriteLine(db.Queryable<student>().Count());
二、修改数据
//SqlSugar 支持匿名对象方式更新,支持对象部分数据更新
SqlSugarClient db = SugarContext.GetInstance(); //1.匿名对象更新
bool result1 = db.Update<UserInfo>(new { name = "张三丰" }, q => q.UserID == );
Console.WriteLine(result1);
//2.批量更新
int[] idList = new int[] { , , };
db.Update<UserInfo>(new { name = "网名" }, q => idList.Contains(q.UserID)); //3.指定对象更新
bool result3 = db.Update<student>(new student()
{
sno = "",
sname = "王丽华"
});
Console.WriteLine(result3); //4.指定对象更新,需要先获取在修改
student stu1 = db.Queryable<student>()
.Where(q => q.sno == "")
.First();
stu1.ssex = "女";
stu1.sbirthday = new DateTime(, , );
stu1.@class = "";
bool result4 = db.Update(stu1);
Console.WriteLine(result4); //5.设置不更新列
//db.DisableUpdateColumns ,指定不更新列,执行完修改后,再清空
三、删除数据
SqlSugarClient db = SugarContext.GetInstance();
//1.指定主键删除
bool result1 = db.Delete<UserInfo, int>();
Console.WriteLine(result1);
//2.指定条件删除
bool result2 = db.Delete<UserInfo>(q => q.UserID >= );
Console.WriteLine(result2); //3.指定主键批量删除
bool result3 = db.Delete<UserInfo, string>(q => q.Name, new string[] { "张三丰", "王小明" });
Console.WriteLine(result3);
//4.指定非主键批量删除
bool result4 = db.Delete<UserInfo, int>(q => q.UserID, new int[] { , });
Console.WriteLine(result4); //5.指定实体对象删除(必须要有主键)
bool result5 = db.Delete(new UserInfo() { UserID = });
Console.WriteLine(result5);
//6.指定Sql的where的片段删除
bool result6 = db.Delete<UserInfo>("UserID=@UserID", new { UserID = });
Console.WriteLine(result6);
更多参考:
.Net开源SqlServer ORM框架SqlSugar整理
SqlSugar常用增删改操作的更多相关文章
- .NET下对Web.config与App.Config的增删改操作的代码
把代码过程常用的内容做个收藏,下边代码段是关于 .NET下对Web.config与App.Config的增删改操作的代码. <?xml version="1.0" encod ...
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
- C# winform窗体设计-对数据库执行增删改操作
对于学习数据库的人来说,数据库的增删改可谓是最基本的了(小编其实也只是一个小白=-=),这篇文章,小编将于大家讲解数据库增删改操作 在执行数据库增删改的时候主要使用的:Command 类 ...
- Jquery easyui开启行编辑模式增删改操作
Jquery easyui开启行编辑模式增删改操作 Jquery easyui开启行编辑模式增删改操作先上图 Html代码: <table id="dd"> </ ...
- OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)
公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...
- [转]Jquery easyui开启行编辑模式增删改操作
本文转自:http://www.cnblogs.com/nyzhai/archive/2013/05/14/3077152.html Jquery easyui开启行编辑模式增删改操作先上图 Html ...
- [ruby on rails] 跟我学之(3)基于rails console的查增删改操作
本章节展开对model的介绍:包括查增删改操作.紧接着上面一节<[ruby on rails] 跟我学之HelloWorld> 创建模型 使用命令创建模型 创建表post,默认自带两栏位 ...
- JavaScript--DOM增删改操作
JavaScript使用DOM操作节点来进行增删改操作 <!DOCTYPE html> <html> <head> <meta charset="U ...
- Linq to SQL 简单的增删改操作
Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...
随机推荐
- PrintWriter out = response.getWriter() 输出中文乱码问题
HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncod ...
- 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...
- sudo easy_install MySQL-pythonubuntu常用命令
修改密码 sudo passwd root 安装openssh-server sudo apt-get install openssh-server 安装easy_install sudo wget ...
- ARM学习笔记5——程序状态寄存器
当前程序状态寄存器CPSR可以在任何位处理器模式下被访问,它包含条件码标志.中断控制.当前处理器模式以及其他状态和控制信息.CPSR的结构图如下: 一.条件标志位 CPSR最高4位:N(Negativ ...
- java解惑
java对转义字符没有提供任何特殊处理.编译器在将程序解析成各种符号之前,先将 Unicode 转义字符转换成为它们所表示的字符[JLS 3.2] 阅读笔记
- storyboard ID
The storyboard ID is a String field that you can use to create a new ViewController based on that st ...
- python学习之字符串
最近在学习python,随手做些记录,方便以后回顾 #字符串是不可再改变的序列aa='abcd'#aa[2:]='ff' #报错,不可直接赋值#字符串格式化:使用格式化操作符即百分号%来实现print ...
- appium
电话键 KEYCODE_CALL 拨号键 5KEYCODE_ENDCALL 挂机键 6KEYCODE_HOME 按键Home 3KEYCODE_MENU 菜单键 82KEYCODE_BACK 返回键 ...
- CAS SSO:汇集配置过程中的错误解决方法
本教程为gevin.me原创文章,转载请注明: CAS SSO:配置过程中的错误解决方法 | Gevin’s Blog 本文将收集在配置CAS SSO遇到的所有错误,希望对大家有帮助,也方便下次搭建的 ...
- eclipse package,source folder,folder区别及相互转换
今天遇到一个问题:在com.a.b.c这个包路径下建一个package,但是不知为什么就会自动编程folder,而且在这个“package”下的所有property文件读不到.所以看了一下文章:在ec ...