EF的增删改查

本文详细介绍了使用Entity Framework进行数据库操作的方法,包括单个和批量的增删改查操作,以及精确查询、模糊查询和组合查询的实现方式。

EF的增删改查

EF的新增

方法一
 var classinfo = new ClassInfo()
            {
                Name = "2018173801",
                Remark = "七班",
                TeacherID = 1,
                Term = 2

            };
            db.ClassInfos.Add(classinfo);
            //db.Entry(classinfo).State = System.Data.Entity.EntityState.Added;
            db.SaveChanges();
            return RedirectToAction("index","classinfo");
方法二
 var classinfo = new ClassInfo()
            {
                Name = "2018173801",
                Remark = "七班",
                TeacherID = 1,
                Term = 2

            };
            //db.ClassInfos.Add(classinfo);
            db.Entry(classinfo).State = System.Data.Entity.EntityState.Added;
            db.SaveChanges();
            return RedirectToAction("index","classinfo");
批量新增
 public ActionResult AddRange() {
            List<ClassInfo> classInfos = new List<ClassInfo>()
            {
                new ClassInfo(){
                    Name = "2018173802",
                Remark = "二班",
                TeacherID = 1,
                Term = 2

                },
                new ClassInfo(){
                    Name = "2018173803",
                Remark = "三班",
                TeacherID = 2,
                Term = 2
                }
            };
            db.ClassInfos.AddRange(classInfos);
            db.SaveChanges();
            return RedirectToAction("index", "classinfo");
        }
        public ActionResult Delete(int? id) {
            var classinfo = db.ClassInfos.Find(id);
            //db.ClassInfos.Remove(classinfo);
            db.Entry(classinfo).State = EntityState.Deleted;
            db.SaveChanges();
            return RedirectToAction("index", "classinfo");
        }

EF的删除

方法一
public ActionResult Delete(int? id) {
            var classinfo = db.ClassInfos.Find(id);
            db.Entry(classinfo).State = EntityState.Deleted;
            db.SaveChanges();
            return RedirectToAction("index", "classinfo");
        }
方法二
public ActionResult Delete(int? id) {
            var classinfo = db.ClassInfos.Find(id);
            db.ClassInfos.Remove(classinfo);
            db.SaveChanges();
            return RedirectToAction("index", "classinfo");
        }
批量删除
   List<ClassInfo> classInfos = db.ClassInfos.Where(p => p.Remark == "六班").ToList();
            db.ClassInfos.RemoveRange(classInfos);
            db.SaveChanges();

EF的修改

方法一

先查询再修改,修改某个属性,不会影响到其他属性的变化。

   var a = db.ClassInfos.Find(2);
            a.Name = "2018173809";
            db.SaveChanges();
方法二

new一个对象,将对象的状态改为修改状态,这样可能将其他属性设置为空。

  var classinfo = new ClassInfo() {
                ID=11,
                Remark="四班"
            };
            db.Entry(classInfo).State = EntityState.Modified;
            db.SaveChanges();

EF的查询

将数据库的数据查询显示到页面上面。

精确查询
  public ActionResult Index()
        {
            var classinfo = db.ClassInfos.Where(p=>p.Name=="2018173806").ToList();
            return View(classinfo);
        }
模糊查询
  public ActionResult Index()
        {
            var classinfo = db.ClassInfos.Where(p=>p.Name.Contains=="2018173806").ToList();
            return View(classinfo);
        }
组合查询
并列条件组合查询
  public ActionResult Index()
        {
            var classinfo = db.ClassInfos.Where(p=>p.Name=="2018173806"
            &&p.TeacherID==1).ToList();
            return View(classinfo);
        }
或者条件组合查询
  public ActionResult Index()
        {
            var classinfo = db.ClassInfos.Where(p=>p.Name=="2018173806"
            ||p.TeacherID==1).ToList();
            return View(classinfo);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值