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

【EF学习笔记04】----------EF简单增删改查

程序员文章站 2022-05-25 12:20:53
从来没想到过能在这个上面翻车,感慨自学没有培训来得系统啊,废话不多说 ORM:对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 EF:数据持久化 是将内存中的数 ......

从来没想到过能在这个上面翻车,感慨自学没有培训来得系统啊,废话不多说

orm:对象关系映射(object relational mapping,简称orm,或o/rm,或o/r mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换

ef:数据持久化

   是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称;数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、xml、二进制流等;其实,简单来说,就是将数据存储到数据库中,为什么这么说呢?因为持久化就不是暂时的,而存储分为暂存和永存两个方面,暂存指的是存储到了计算机的内存中,电源关闭即丢失。而永存就是存储到了类似数据库里,数据就可以反复使用。除此以外,持久化封装了数据访问细节,为大多数业务逻辑提供面向对象的api。

   1. 通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度;

   2. 代码重用性高,能够完成大部分数据库操作; 

   3. 松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码

紧接正文,ef codefirst进行增删改查的方式

引用entityframework后,我们建立好了实体模型

添加:

1、声明 一个ef的上下文

dbentities dbcontext = new dbentities();

2、声明一个user实体

yj_users user = new yj_users();
user.loginname = "****";
user.mail = "****";
user.password = "****";
user.plane = "****";
user.username = "****";
user.cardno = "****";
user.phone = "****";

 

3、 告诉ef咱们对上面的实体做一个插入操作

dbcontext.yj_users.add(user);

      告诉上下文把实体的变化保存到数据库里面去。

dbcontext.savechanges();//添加、修改、删除时都要用到的

修改:

1、声明一个user实体

            yj_users user = new yj_users();
            user.loginname = "111";
            user.mail = "ssss";
            user.password = "ssss";
            user.plane = "ssss";
            user.username = "ssss";
            user.cardno = "ssss";
            user.phone = "ssss";
            user.id = 1;//修改的时候指定id

2、告诉上下文咱们的对此实体进行更新操作

            dbcontext.entry(yj_users).state = entitystate.modified;     //这里只修改一列
            dbcontext.entry(yj_users).property(u => u.username).ismodified = true;

 

3、告诉上下文把实体的变化保存到数据库里面去

            dbcontext.savechanges();//执行sql脚本的地方

删除:

1、声明一个user实体

            yj_users user = new yj_users();
            user.loginname = "111";
            user.mail = "ssss";
            user.password = "ssss";
            user.plane = "ssss";
            user.username = "ssss";
            user.cardno = "ssss";
            user.phone = "ssss";
            user.id = 1;//删除的时候指定id

2、告诉上下文咱们的对此实体进行删除操作

            1.dbcontext.entry<hksj_users>(user).state = system.data.entitystate.deleted;
            2.dbcontext.yj_users.remove(user); 
db.savechanges();

 

查询:

 

            var data = dbcontext.yj_users.where(u => u.id > 0);  

            foreach (var userinfo in data)
            {
                console.writeline(yj_users.id + "  " + yj_users.username);
            }

 

 

 这里附一篇博客吧,里面写的挺详细的

【ef学习笔记04】----------ef简单增删改查https://www.cnblogs.com/gosky/p/5751815.html