ORM设计思想:面向对象的对象模型和关系型数据库的数据结构相互转换(表实体和表的相互转化);
补充:强类型与弱类型区别,强类型,是通过类直接访问(通俗点,就是可以直接点出来)的方式来操作;弱类型:是通过硬编码直接访问,必须知道准确的数据库字段(容易编写错误,编译时不能发现错误,只有在运行的时候才会发现错误);
EntityFramework是基于ORM思想实现的一种方式;
第一步:搭建环境并创建项目
开发工具会自动给你创建需要的实体与表之间的映射关系,在创建完成之后,你只需要使用就可以了;
闲话不多说,我们进入主题:(开始我们的代码演示)
1、添加操作
//声明一个上下文
StevenEntities dbContext = newStevenEntities();
#region 添加操作
//操作一个实体类型
books book = new books();
book.bookName = "ASP.NET";
book.publisherID = 1;
book.pic ="image/book.jpg";
book.price =decimal.Parse("98.6");
book.count = 10;
book.description = "描述";
//告诉上下文对实体进行添加状态
dbContext.Entry<books>(book).State =System.Data.EntityState.Added;
//对数据库进行操作,把实体保存到数据库
dbContext.SaveChanges();
#endregion
2、修改操作(删除操作类似)
//声明一个上下文
StevenEntities dbContext = newStevenEntities();
//操作一个实体类型
books book = new books();
book.bookName ="ASP.NET";
book.publisherID = 1;
book.pic = "image/book.jpg";
book.price =decimal.Parse("98.6");
book.count = 10;
book.description = "描述";
book.isbn = "1";//主键,作为更新和删除的条件(必须注意)
//告诉上下文对实体进行添加状态
//修改整行数据操作
dbContext.books.Attach(book);//附加操作
//dbContext.Entry<books>(book).State =System.Data.EntityState.Modified;
//修改任意一列
dbContext.Entry<books>(book).Property<string>(b=> b.bookName).IsModified=true;//强类型
dbContext.Entry<books>(book).Property<string>("bookName").IsModified= true;//弱类型
//对数据进行操作更新数据
dbContext.SaveChanges();