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();
    
  • 相关阅读:
    服务器响应状态码
    细说同域-同父域-跨域
    细说Ajax跨域
    为SQL缓存通知启用数据库
    使用PATINDEX()判断含有[A-Z]、[a-z]、[0-9]之外的字符
    记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
    谈谈如何在面试中发掘程序猿的核心竞争力
    “属性”与“特性”区别
    【转】安卓手机无法安装软件的原因总结
    【转】自学android半年,已从.net转型成android程序员
  • 原文地址:https://www.cnblogs.com/yangsofter/p/EntityFramework-CUD.html
Copyright © 2011-2022 走看看