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 = "";
user.Mail = "ssss";
user.PassWord = "ssss";
user.Plane = "ssss";
user.UserName = "ssss";
user.cardNo = "ssss";
user.phone = "ssss";
user.ID = ;//修改的时候指定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 = "";
user.Mail = "ssss";
user.PassWord = "ssss";
user.Plane = "ssss";
user.UserName = "ssss";
user.cardNo = "ssss";
user.phone = "ssss";
user.ID = ;//删除的时候指定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 > );
foreach (var userInfo in data)
{
Console.WriteLine(YJ_USERS.ID + " " + YJ_USERS.UserName);
}
这里附一篇博客吧,里面写的挺详细的
【EF学习笔记04】----------EF简单增删改查https://www.cnblogs.com/gosky/p/5751815.html
EF实现增删改查的更多相关文章
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- [.NET源码] EF的增删改查
EF的增删改查 创建上下文对象:WordBoradEntities db = new WordBoradEntities(); 一.添加: //1.1创建实体对象 User uObj = new Us ...
- http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htm ASP.NET从零开始学习EF的增删改查
http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htmlASP.NET从零开始学习EF的增删改查
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
easyui datagrid 禁止选中行 没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...
- EF CodeFirst增删改查之‘CRUD’
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 本篇旨在学习EF增删改查四大操作 上一节讲述了EF ...
- EasyUI +MVC +EF实现增删改查
OA项目的框架已经搭建好了,接下来就是在这个框架下完成相应的业务的编码,接下来实现UserInfo页面的增删改查. 1.首先先谈一下遇到的一个框架上的问题:提示EF版本不一致之类的问题,主要是解决方案 ...
- [EF]使用EF简单增删改查
目录 认识EF 添加数据 删除数据 修改数据 查询数据 总结 认识EF ADO.NET Entity Framework 是微软以ADO.NET为基础所发展出来的对象关系对伊(O/R Mapping) ...
- ASP.NET MVC学习---(三)EF简单增删改查
那么现在我们已经大概从本质上了解了ef 巴拉巴拉说了一大堆之后 总算要进入ef的正题了 总在口头说也太不行了是吧~ 没错,现在要用ef进行一些实际的操作 做什么呢? 就做一个入门级的增删改查操作吧 废 ...
- MVC学习-用EF做增删改查
在做增删改查先,先介绍几个知识点: 1.代理类 在将对象方法EF数据上下文时,EF会为该对象封装 一个代理类对象, 同时为该对象的每一个属性添加一个标志:unchanged, 当对该对象某个属性进行操 ...
随机推荐
- 边学边做,简单的 GraphQL 实例
项目中有功能要调用 API,对方 API 用的是 GraphQL 实现,就简单学了下,感叹技术进步真快,Facebook 发明的这玩意儿咋这么牛逼,使前端开发人员变得主动起来,想要什么接口.返回什么结 ...
- springcloud开篇
微服务作为现在的常用架构,已经到了不学不行的地步.君不见spring官网https://spring.io/已经将springboot,springcloud,spring cloud data fl ...
- 参考信息 - 云计算与Kubernetes
基本概念 基础设施即服务(Infrastructure as a service) 通常指的是在云端为用户提供基础设施,如:虚拟机.服务器.存储.负载均衡.网络等等.亚马逊的AWS就是这个领域的佼佼者 ...
- 安卓网络访问(xUtils3)
xUtils3是安卓网络访问的重要库,基本上的网络请求所涉及的内容都有集成.笔者将实现xUtils3的简单使用,包括简单GET和POST请求.文件上传.文件下载.图片显示. 其主要特性有以下几点: ① ...
- 2,linux入门到上手-ssh安装配置及虚拟机基本使用
ssh配置 1,打开"终端窗口",输入 "sudo apt-get update" --> 回车 --> "输入当前登录用户的管理员密码& ...
- 基于Alpha-Beta剪枝的欢乐斗地主残局辅助
2019年4月17日更新: 将搜索主函数优化为局部记忆化搜索,再次提高若干倍搜索速度 更新了main和player,helper无更新 #include "Player-v3.0.cpp&q ...
- tensorflow 迭代周期长,每个epoch时间变慢
理论上,session启动后,每个epoch训练时间应该是差不多,而且不会因为迭代周期变长,epoch时间变慢.原因是session里定义了tf.op导致的,每一次迭代都会在graph里增加新的节点, ...
- Eclipse打包出错——提示GC overhead limit exceeded
版权声明:本文为博主原创文章,未经博主允许不得转载. 在Eclipse开发环境中打包发布apk安装包的时候,有时候会出现下面的错误: 原因 在打包的时候,Eclipse占用的内存会增大,当分配给Ecl ...
- java.sql.SQLException: The SQL statement must not be null or empty.这个错误
今天发现了这个错误 java.sql.SQLException: The SQL statement must not be null or empty. 并且看了些网页:综合说下这个错误. 一般都是 ...
- 前端JS 与 后台C# 之间JSON序列化与反序列化(笔记)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 在 前端浏览器 和 后端服务器 之间通常会使用 JSON格式的数据 来进行数据交互,而JSON格式的 ...