插入数据
1、只要操作模型类属性,就可以向数据库中增加数据,但是通过C#代码修改模型类中的数据只是修改了内存中的数据。对模型类做修改后,需要调用DbContext的异步方法。
SaveChangesAsync()把修改保存到数据库。也有同步的保存方法SaveChanges(),但是用EF Core都推荐用异步方法。异步知识点还欠缺的朋友可能需要去补一补。

2、EF Core默认会跟踪实体类对象以及DbSet的改变。

  public  class Program{static async  Task  Main(string[] args){//实例化上下文类 mdb 逻辑上的数据库using (MyDbContext mdb = new  MyDbContext()){//在实例化实体类Books 给实体类的属性添加值Book book = new Book();book.bookname = "钢铁是怎样练成的";book.CreatName = DateTime.Now.ToString();book.DateTime = DateTime.Now;mdb.Books.Add(book);//把模型表book的对象加入到逻辑数据库中的Dbset<Books>逻辑表里面await mdb.SaveChangesAsync(); //Savechanges()方法相当与Update-Database}}}

查询数据
1、DbSet实现了IEnumerable<T>接口,因此可以对
DbSet实施Linq操作来进行数据查询。EF Core会把Linq操作编译转换为SQL语句。

这就实现了面向对象对数据库进行操作。

 #region 查询数据//where可以查询范围的值 //var books = mdb.Books.Where(b => b.Id > 0);//foreach (var book in books)//{//    Console.WriteLine(book.bookname);//}//single返回一个数据的对象 一条数据对象 可以准确的查询出精确的数据//var book = mdb.Books.Single(b => b.Id ==2);//Console.WriteLine(book.bookname);//orderby 排序//var books = mdb.Books.OrderBy(b=>b.Id);可以添加Where条件 列如:Where(b=>b.id<10)//foreach (var item in books)//{//    Console.WriteLine(item.bookname);//}#endregion

修改数据

1、要对数据进行修改,首先需要把要修改的数据查询出来,然后再对查询出来的对象进行修改,然后再执行SaveChanges()保存修改。

有点繁琐,需要先用Single把数据对象查询出来

然后执行修改属性值通过SvaeChanges();方法更新

   #region 修改数据var book = mdb.Books.Single(b=>b.bookname== "钢铁是怎样练成的");book.bookname = "我不想炼钢铁了";await mdb.SaveChangesAsync();//把修改的数据保存关系数据库#endregion

删除数据

1、删除也是先把要修改的数据查询出来,然后再调用DbContext的Remove方法把对象删除,然后再执行
SaveChanges(保存修改)。

    #region 删除数据var book = mdb.Books.Single(b => b.Id==1);mdb.Remove(book);await mdb.SaveChangesAsync();//把删除的数据保存关系数据库#endregion

批量数据修改

1、目前批量修改、删除多条数据的方法。
局限性:性能低:杳出来,再一条条Update、Delete,而不能执行

#region 批量数据修改var books = mdb.Books.Where(b=>b.Id<10);foreach (var book in books){Console.WriteLine(book.bookname);//   book.bookname = book.bookname + '的';}// await mdb.SaveChangesAsync();#endregion

EFCore对数据库增删改查相关推荐

  1. 常用的Mybatis-Plus方法,让你的数据库增删改查(CRUD)一键实现

    常用的Mybatis-Plus方法,让你的数据库增删改查(CRUD)一键实现 以下方法全部亲测可用 //测试查找全部@Testpublic void testSelectAll(){List<U ...

  2. Mysql (一)Mysql 数据库增删改查

    mysql数据库增删改查增:create database DBname charset gbk; 删:drop database DBname; 改:alter database DBname ch ...

  3. sql增删改查_快速搞定数据库增删改查|附思维导图

    数据库学习,增删改查一直是测试工程师面试笔试的必考知识点,对于常用sql语法我们一定要牢记于心,尤其是各种查询的用法,在面试的时候,一个小小的知识点,面试官都可以推断出求职者的基础是否扎实. 下面是关 ...

  4. Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

    此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面 ...

  5. php+mysql+into_PHP+Mysql 如何实现数据库增删改查

    PHP+Mysql实现数据库增删改查的方法:1.创建入口文件[index.html]连接数据库.查询数据:2.点击增加按钮,通过[addnews.html]添加数据:3.点击删除按钮,通过服务端文件[ ...

  6. Java连接Mysql数据库增删改查实现

    Java连接Mysql数据库增删改查实现 时间比较赶,我这里只实现查询,有时间再添加另外两个 难度 : ⭐⭐⭐(全星5颗星的情况下) 新建一个动态的网站工程, 把jar包全部复制进去,主要要那个mys ...

  7. flask对mysql数据库增删改查_Flask学习(三) - Flask-SQLAlchemy对数据库增删改查

    Flask-SQLAlchemy对数据库增删改查 安装 pip install flask-sqlalchemy 具体不多说了,主要是对数据库进行简单的增删改查,上代码,看注释 @app.route( ...

  8. mysql 中caption_Django-Model操作数据库(增删改查、连表结构)(示例代码)

    Django-Model操作数据库(增删改查.连表结构) 一.数据库操作 1.创建model表 基本结构 from django.db importmodelsclassuserinfo(models ...

  9. java servlet dao_Java+MyEclipse+Tomcat 详解Servlet和DAO数据库增删改查操作(源码)

    [实例简介] 该资源主要参考自己的博客http://blog.csdn.net/eastmount/article/details/45936121 讲诉Java+MyEclipse+Tomcat 详 ...

  10. mfc连接mysql增删改查_java实现mysql数据库增删改查

    1.连接数据库: import java.sql.Connection; import java.sql.DriverManager; public class DBConnection { stat ...

最新文章

  1. 邓海建:让网约车成为智慧城市的“老司机”
  2. 运行android模拟器,emulator: ERROR: x86 emulation currently requires hardware acceleration!
  3. AFIO时钟何时开启
  4. bootstrap外不引用连接_网络编程Netty IoT百万长连接优化,万字长文精讲
  5. 手把手教你做用户画像:3种标签类型、8大系统模块
  6. 热血上头!程序员想拍桌子离职的1000个瞬间...
  7. 计算机帮教助教活动总结,【助教总结】_助教总结范文三篇
  8. 凸包练习: POJ 2187(JAVA)
  9. 吉林考生多少分能考上哈工大计算机专业,福建考生多少分能上哈工大?
  10. Linux 管道(pipe)原理及使用
  11. Vulnhub Typhoon-v1.02提权
  12. 陈小龙书pHP,PHP
  13. writev遇到非阻塞IO
  14. 温度测量基于c语言,基于PN结的温度测量系统设计论文(C语言)--189876772.doc
  15. Python - - 面向对象 - - 初始面向对象
  16. 何海涛算法面试题感悟之四:二元树…
  17. Oracle基础之保留字和关键字
  18. onLoad、onShow
  19. Android简单实用的交互动画库
  20. 【风电功率预测】麻雀算法优化LSSVM风电功率预测(多输入单输出)【含Matlab源码 1718期】

热门文章

  1. spring框架特点
  2. astah——UML类图画法
  3. word另存为pdf后,pdf文件中有空白页
  4. 郭盛华与米特尼克,中美两大顶尖电脑高手,两人竟有太多相似之处
  5. spss回归分析笔记记录
  6. Gradle简要教程
  7. 行路难PPT计算机考试,《行路难》公开课.ppt
  8. 聚类算法——KMeans(K-均值)
  9. 通过2048学习自定义view(二) 滑动事件监听 与 事件回调
  10. 新点软件怎么导入清单_新点造价软件的QDZ招投标清单使用说明