欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

EF操作数据库的步骤和一些简单操作语句

程序员文章站 2022-12-11 09:48:35
这里是写给我自己做记录的,不会写成一篇很好的博客,也不会置顶,如果有朋友看到了,而且觉得里面的内容不咋的,希望见谅哈! 关于这部分内容,这里推荐一篇总结的非常好的博客,如果你点击进来了,那么请略过下面的内容,直接点击这个链接,因为写的真的不错:https://www.cnblogs.com/gosk ......

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

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

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

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

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

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

 EF操作数据库的步骤和一些简单操作语句

2.实例化上下文

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

EF操作数据库的步骤和一些简单操作语句

 

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

EF操作数据库的步骤和一些简单操作语句

 

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

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

firstdbentities1 db = new firstdbentities1();

 

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

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

操作方法为:

userinfo userinfo = new userinfo();

userinfo  =  db.userinfo.find(id);

 

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

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

操作方法为:

list<userinfo>  list = new list<userinfo>

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<userinfo>(user).state = system.data.entity.entitystate.deleted;

db.savechanges();

 

 好了,先简单写一下,只是草草记录,后续有时间会进行系统的归纳总结。