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

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

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

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

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

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

来自数据库的ef设计器 mysql ef操作数据库_实例化

2.实例化上下文

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

来自数据库的ef设计器 mysql ef操作数据库_实例化_02

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

来自数据库的ef设计器 mysql ef操作数据库_实例化_03

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

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

FirstDBEntities1 db = new FirstDBEntities1();

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

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

操作方法为:

UserInfo userInfo = newUserInfo();

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 inuser)
{
xxx=item.yyyy;
}
4.使用上下文操作数据库 之 增
创建一个实体数据对象,并对其各个字段赋值,然后使用上下文执行增加操作,
UserInfo user = newUserInfo();
user.userName= "BBB";
user.passWord= "23456";
db.UserInfo.Add(user);
db.SaveChanges();
需要注意的是,在执行完添加操作之后,需要执行 db.SaveChanges() 操作, 这句话的意思是,把我们修改的内容更新到数据库中。
5.使用长下文操作数据库 之 改
首先要指定你修改的某一行的id:
UserInfo user = newUserInfo();
user.UserId= 3;
接下来对要修改的字段进行重新赋值:
user.userName = "CCC";
user.passWord= "1234567";
然后执行修改操作:
db.Entry(user).State = EntityState.Modified;
最后将修改保存到数据库中
db.SaveChanges();
如果只修改单个属性,比如只修改userName,则写为:
UserInfo user = newUserInfo();
user.userId= 3;
user.userName= "DDD";
db.Entry(user ).Property(u=> u.userName).IsModified = true;
db.SaveChanges();
6. 使用长下文操作数据库 之 删
UserInfo user = newUserInfo();
user.userId= 3;
db.Entry(user).State =System.Data.Entity.EntityState.Deleted;
db.SaveChanges();
好了,先简单写一下,只是草草记录,后续有时间会进行系统的归纳总结。