zoukankan      html  css  js  c++  java
  • Entity Framework入门教程:通过Entity Framework实现数据库数据的增、删、改

    【增加一条新的数据】

    因为使用数据库先行的模式,所以将数据保存到数据库的操作变得非常简单,你只需要写简单的几行代码就能将对象的实例保存到数据库中

     using (var dbContext=new BankSchemaContext())
     {
         //添加一个Teller对象实例到DbSet
         dbContext.Tellers.Add(new Teller()
         {
             Id = 28,
             Branch = "",
             Contact = "张三",
             Gender = 1,
             TellerAccount = "99999",
             SignInPassword = "123456",
             TellerPassword = "123456",
             CreateDateTime = DateTime.Now
         });
         //保存Teller对象实例到数据库中
         dbContext.SaveChanges();
     }
    

    你也可以使用下面的方式,将数据保存到数据库中

    Teller teller = new Teller()
    {
        Id = 28,
        Branch = "",
        Contact = "张三",
        Gender = 1,
        TellerAccount = "99999",
        SignInPassword = "123456",
        TellerPassword = "123456",
        CreateDateTime = DateTime.Now
    };
    //将teller添加到DbEntityEntry中,并将State状态设置为 Added
    dbContext.Entry(teller).State=EntityState.Added;
    //保存Teller对象实例到数据库中
    dbContext.SaveChanges();
    

    当然保存数据也是支持异步的

     // dbContext.Tellers.Add(teller);
     dbContext.Entry(teller).State = EntityState.Added;
     int result = await dbContext.SaveChangesAsync();
    

    【批量数据插入】

    Entity Framework提供了AddRange方法,可以让批量插入变得简单

     dbContext.Tellers.AddRange(tellers);//tellers=>List<Teller>
     dbContext.SaveChanges();
    

    【修改一条数据】

    将需要修改的数据从数据库表中查询出来并修改实例的值,然后再将其更新到数据库中

     //将DBEntityEntry状态设置为Modified
     dbContext.Entry(teller).State=EntityState.Modified;
     dbContext.SaveChanges();
    

    【数据删除】

    删除数据只需要将将DBEntityEntry状态设置为Deleted

     dbContext.Entry(teller).State=EntityState.Deleted;
     dbContext.SaveChanges();
    

    【批量删除】

    Entity Framework提供了RemoveRange方法,可实现批量删除

     dbContext.Tellers.RemoveRange(query);
     dbContext.SaveChanges();
    

    也可以通过修改状态的方式批量删除

     //dbContext.Tellers.RemoveRange(query);
     foreach (var entryTeller in query)
     {
         dbContext.Entry(entryTeller).State = EntityState.Deleted;
     }
     dbContext.SaveChanges();
    
  • 相关阅读:
    浏览器缓存
    HTML学习笔记(九) Web Socket
    [转]maven2中snapshot快照库和release发布库的区别和作用
    [转]maven2中snapshot快照库和release发布库的应用
    CentOS 7 mini 试用笔记
    Windows找出占用端口的进程
    ORA-24408: could not generate unique server group name
    Oracle中NVL、NVL2、NULLIF 三个函数的区别?
    【代码大全-读书笔记】第1章 欢迎进入软件构建的世界
    【代码大全-读书笔记】前言
  • 原文地址:https://www.cnblogs.com/yangsofter/p/EntityFramework-CUD.html
Copyright © 2011-2022 走看看