使用EF框架在MVC中进行简单增删查改

使用EF框架在MVC中进行简单增删查改

EF框架

  • 微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上。EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。开发人员使用Linq语言,对数据库操作如同操作Object对象一样省事。
  • EF有三种使用场景,1. 从数据库生成Class,2.由实体类生成数据库表结构,3. 通过数据库可视化设计器设计数据库,同时生成实体类。

EF框架在MVC中增删改查

  • 以下增删改查运用于控制器中,不创建视图的情况下直接通过URL路径来进行代码的执行。

一、增

  1. 运用new对象,把数据存入临时数据中,调用Add方法来进行新增。
     var classinfo = new ClassInfo()
     {
               Name = "2018173807",
               Remark = "七班",
               Term = 1,
               TeacherID = 2
	 };
     db.ClassInfos.Add(classinfo);
     db.SaveChanges(); //保存
  1. 运用Entity对象,把存入数据的状态改为新增状态。
     var classinfo = new ClassInfo()
     {
               Name = "2018173807",
               Remark = "七班",
               Term = 1,
               TeacherID = 2
	 };
     db.Entry(classinfo).State = System.Data.Entity.EntityState.Added;
     db.SaveChanges(); //保存
  1. 运用AddRange对象和数组,进行批量新增。
     List<ClassInfo> classInfos = new List<ClassInfo>() {
                new ClassInfo(){
                    Name = "2018173801",
               Remark = "一班",
                Term = 1,
                TeacherID = 2
                },
                 new ClassInfo(){
                    Name = "2018173802",
                Remark = "二班",
                Term = 1,
                TeacherID = 2
                }
     };
     db.ClassInfos.AddRange(classInfos);
     db.SaveChanges(); //保存

二、删

  1. 调用Remove方法来进行删除。
     var classinfo = db.ClassInfos.Find(7);
     db.ClassInfos.Add(classinfo);
     db.SaveChanges(); //保存
  1. 运用Entity对象,把存入数据的状态改为新增状态。
     var classinfo = new ClassInfo()
     {
               Name = "2018173807",
               Remark = "七班",
               Term = 1,
               TeacherID = 2
	 };
     db.Entry(classinfo).State = System.Data.Entity.EntityState.Added;
     db.SaveChanges(); //保存

三、改

  1. 先查询再修改,修改某一个知晓的值,不会影响其他属性变化。
     var set = db.ClassInfos.Find(7);
     set.Remark = "666";
     db.SaveChanges(); //保存
  1. 运用Entity对象,把存入数据的状态改为删除状态。
      List<ClassInfo> classInfosd = db.ClassInfos.Where(p => p.Remark == "七班").ToList();
     db.ClassInfos.RemoveRange(classInfosd);
     db.SaveChanges(); //保存

四、查

  1. 精准查询。
     var classinfos1 = db.ClassInfos.Where(p => p.Name == "2018173806").ToList();
  1. 模糊查询
     var classinfos2 = db.ClassInfos.Where(p => p.Name.Contains("2018")).ToList();
  1. 组合查询,&&
     var classinfo3 = db.ClassInfos.Where(p => p.Term == 1 && p.TeacherID == 1).ToList();
  1. 组合查询,||
     var classinfo4 = db.ClassInfos.Where(p => p.Term == 1 || p.TeacherID == 1).ToList();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值