博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EF操作数据库的步骤和一些简单操作语句
阅读量:5879 次
发布时间:2019-06-19

本文共 1751 字,大约阅读时间需要 5 分钟。

 

  这里是写给我自己做记录的,不会写成一篇很好的博客,也不会置顶,如果有朋友看到了,而且觉得里面的内容不咋的,希望见谅哈!

关于这部分内容,这里推荐一篇总结的非常好的博客,如果你点击进来了,那么请略过下面的内容,直接点击这个链接,因为写的真的不错:。

  我个人还没有对EF相关的内容进行详细的整理,所以这篇随笔的参考意义不大,只是贴一些代码上去,以后有机会有时间,会对相关内容做一个总结。

使用EF操作数据库的详细步骤主要分为一下几步:

1.创建EF实体数据库模型:

在某个项目上点击右键 添加 ==》数据 ==》ADO.Net实体数据库模型 ==》然后按照提示去走;

 

2.实例化上下文

  首先找到需要实例化的上下文的名字,在ef实体里的这个文件里:

 

 打开该文件后,代码如下:

 

 红框处的名字就是该实体的上下文。

实例化上下文的具体做法如下:

FirstDBEntities1 db = new FirstDBEntities1();

 

3.使用上下文操作数据库 之 查询操作

(1)根据主键id获取某个表的数据

操作方法为:

UserInfo userInfo = new UserInfo();userInfo  =  db.UserInfo.Find(id);

 

 其中UserInfo是该数据表对应的实体类的类名,执行该操作后,即可获取主键id为某个数的那一行的数据,然后通过 userInfo.XXX 即可获去相应字段的值;

(2)获取某个数据表全部数据

操作方法为:

List
list = new List
list = db.UserInfo.ToList();

 

 执行该操作后久会把该数据表中的所有数据都取出来,存放在一个List集合中;

(3)根据其他条件进行查询

var user = db.UserInfo.Where(u => u.userName == "AAA" );

 

 这是使用lambda表达式进行查询,查询的结果是一个list集合,通过下面的方法可以遍历取出这些数据:

foreach(var item in user){      xxx = item.yyyy;          }

 

 4.使用上下文操作数据库 之 增

创建一个实体数据对象,并对其各个字段赋值,然后使用上下文执行增加操作,

UserInfo user = new UserInfo();user.userName = "BBB";user.passWord = "23456";db.UserInfo.Add(user);db.SaveChanges();

 

需要注意的是,在执行完添加操作之后,需要执行 db.SaveChanges() 操作, 这句话的意思是,把我们修改的内容更新到数据库中。

5.使用长下文操作数据库 之 改

首先要指定你修改的某一行的id:

UserInfo user = new UserInfo();user.UserId = 3;

 

 接下来对要修改的字段进行重新赋值:

user.userName = "CCC";user.passWord = "1234567";

 

然后执行修改操作:

 

db.Entry(user).State = EntityState.Modified;

 

 最后将修改保存到数据库中

db.SaveChanges();

 

 

 如果只修改单个属性,比如只修改userName,则写为:

UserInfo user = new UserInfo();user.userId = 3;user.userName = "DDD";db.Entry(user ).Property(u => u.userName).IsModified = true;db.SaveChanges();

 

 6. 使用长下文操作数据库 之 删

UserInfo user = new UserInfo();user.userId = 3;db.Entry
(user).State = System.Data.Entity.EntityState.Deleted;db.SaveChanges();

 

转载地址:http://madix.baihongyu.com/

你可能感兴趣的文章
python基础总结
查看>>
通过一个例子学习Kubernetes里的PersistentVolumeClaim的用法
查看>>
常见的几种排序方法
查看>>
EOSIO 指南(部署、发行和转移代币)
查看>>
微信小程序初体验,入门练手项目--通讯录,部署上线(二)
查看>>
【PHP7底层设计与源码分析】部分勘误
查看>>
“地表最贵iPhone”到货,iPhone XS 系列手机等你来测!
查看>>
你为什么用或不用框架?
查看>>
SpringCloud微服务部署
查看>>
对比 Git 与 SVN,这篇讲的很易懂
查看>>
Node.js 服务连接 MongoDB 处理最佳实践
查看>>
即时通讯App怎样才能火?背后的技术原理,可以从这5个角度切入
查看>>
Java编程基础17——集合(List集合)
查看>>
《从零构建前后分离web项目》探究 - 深入聊聊前后分离架构
查看>>
JPA ArrayList OneToMany UnsupportedOperationException 异常
查看>>
使用Netty+Spring+Swing实现远程桌面控制
查看>>
实施Service Mesh前,你需要考虑这几个问题
查看>>
前端进阶(4) - 清理服务器上 webpack 打包的过期 hash 文件
查看>>
优云数智 | Ceph 开发者月报 2018-07
查看>>
extjs6.0 treepanel设置展开和设置选中
查看>>