EF框架 简单增删改查

EF框架 简单增删改查

什么是Entity Framework

实体框架(Entity Framework)是微软以ADO.Net为基础开发出来的对象关系映射(ORM)解决方案,它解决了对象持久化问题,将程序员从编写麻烦的SQL语句当中解放出来。

相对于传统的ADO等各种数据库操纵技术来说,微软的ADO.Net更为先进,它封装了很多底层操作,抽象了接口,针对接口编程,将调用统一化。

EF框架的使用

1,新建一个数据库,在数据库中建上一个classinfo表 加若干字段
2,在Models文件夹内添加一个新建项,在Data里面点击ADO.NET 实体数据模型,选择数据库,添加实体模型
选择第一个
在这里插入图片描述
新增

// //新增
var classinfo = new ClassInfo()
{
     Name = "2018173807",
     Remark = "七班",
     TeacherID = 1,
     Term = 2

};
//第一种方法   使用Add()方法添加
 db.ClassInfos.Add(classinfo); 
//第二种方法   讲状态改为Added实现添加  
db.Entry(classinfo).State = System.Data.Entity.EntityState.Added;
db.SavaChange();
     


//批量新增
List<ClassInfo> classes = new List<ClassInfo>()
{
      new ClassInfo()
      {
             Name="2018173808",
             Remark="七班",
             TeacherID=1,
             Term=2

        },
        new ClassInfo()
        {
               Name="2018173808",
               Remark="七班",
               TeacherID=1,
               Term=2

          }

};


修改

//修改2种方式
//一,先查询,修改整个属性,不会影响其他属性变化
var classinfo1 = db.ClassInfos.Find(1);
classinfo1.Remark = "六班";
db.SavaChange();

//二,new对象,将对象的状态改为修改状态,弊端是会将未赋值属性设置为空
ClassInfo  classinfo2= new ClassInfo()
{
     ID=1,
     Name="2018173805",
     Term=1,
     TeacherID=1,
     Remark="五班"
};
db.Entry(classinfo2).State = System.Data.Entity.EntityState.Modified;
db.SavaChange();

删除

//删除两种方式
//先根据ID查询,再删除
var c1 = db.ClassInfos.Find(1);
db.ClassInfos.Remove(c1);
db.SavaChange();

//new一个对象,将状态改为删除状态
var c2 = new ClassInfo()
{
    ID=1
};
db.Entry(c2).State = System.Data.Entity.EntityState.Deleted;
db.SavaChange();




//批量删除
List<ClassInfo> info1 = db.ClassInfos.Where(p => p.Remark == "五班").ToList();
db.ClassInfos.RemoveRange(info1);
db.SavaChange();

查询

//精确查询,查询班级号为2018173806的
 var classInfos1 = db.ClassInfos.Where(p => p.Name == "2018173806").ToList();

//模糊查询,查询班级号含有2018的
var classInfos2 = db.ClassInfos.Where(p => p.Name.Contains("2018")).ToList();

//组合查询,查询学期是1同时老师也是1的
var classInfo3 = db.ClassInfos.Where(p => p.Term == 1 && p.TeacherID == 1).ToList();

//组合查询,查询学期是2或者老师是2的
var classInfo4 = db.ClassInfos.Where(p => p.Term == 2 || p.TeacherID == 2).ToList();

END THANKS

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值