ORM还有一支 EF的增删改
来源:互联网 发布:淘宝直播入口 编辑:程序博客网 时间:2024/04/29 02:57
首先感谢大神们对知识的无私共享o(^▽^)o,这篇不算是原创但是也不是翻译也不是转发
今天这里的主角之一是linQ语句,和SQL的区别、简单说一点
SQL//执行计划 select * 第三步 from Branch 第一步 where id=124; 第二步 LinQ from Branch 第一步 where id=124; 第二步 select * 第三步
第一步:建立ADO.NET实体数据模型 一抓一大把
第二步:增删改查
增
//创建访问数据库的上下文 统一入口 入口 入口 入口 入口 HeimaRegulationEntities dbContext=new HeimaRegulationEntities(); Branch branch=new Branch(); branch.BranchName="mjx"; branch.BranchType=2; branch.DelFlag=0; branch.Remark="pretty"; branch.SubTime=DateTime.Now; //想dbcontext指向的branch表中添加一行数据 dbContext.Branch.AddObject(branch); //正在保存到数据库 生成SQL脚本 SQL脚本 SQL脚本 dbContext.SaveChanges();
改
branch.id=124; branch.BranchType=0; branch.BranchName="mjx"; branch.Remark="xiaoxing"; branch.DelFlag=0; branch.SubTime=DateTime.Now; //修改此实体,将当期实体附加到上下文中管理 dbContext.Branch.Attach(branch); //将上下文跟踪的实例:branch状态改为修改状态Modefied dbContext.ObjectStateManager.ChangeObject(branch,EntityState.Modefied); dbContext.SaveChanges();
另一种,其实差不多
branch.BranchName="mjx"; branch.BranchType=2; branch.DelFlag=0; branch.Remark="pretty"; branch.SubTime=DateTime.Now; //vs2012:自动附加到上下文 //实体跟踪,将状态更改为modified dbContext.Entry<Branch>(branch).State=EntityState.Modified; dbContext.SaveChanges();
third://查询实体:默认便是被跟踪的状态 var item=dbContext.Branch.FirstOrDefault(); //改变属性,自动将此实体状态改为modified状态 item.BranchName="马金兴"; dbContext.SaveChanges();
删:
Branch branch=new Branch(); branch.id=124; dbContext.Branch.Attach(branch); dbContext.ObjectStateManager.ChangeObject(branch,EntityState.Deleted); dbContext.SaveChanges();
查
一、#region 利用foreach循环查询数据库 马金兴 2017年5月24日17:21:05 foreach (var branchOne in dbContext.Branch) { Console.WriteLine(string.Format("id:{0} Name:{1}",branchOne.id,branchOne.BranchName)); } #endregion
二、var item=from b in dbContext.Branch where b.id=124 select b;//查询出来的实体已经附件在上下文中,无需再附 .First();//取第一个元素 .FirstorDefault();//第一个 或者 默认值(根据类型) .Single();// = 一条 .SingleOrDefault();// < = 0条三、
from b in BuildingInfo
join p in Pro on b.proID equals p.id
select new {b.id,b.bulidingName,p.projectName}
小结:
主要是O---R----M;;;ORM框架
框架、入口、映射
面向对象里不同类型系统的数据之间的转换,实体变化映射到数据库表的变化
EF:
将实体的变化翻译成sql脚本,并执行到数据库中
PS:待完善的地方,欢迎交流(●'◡'●)
阅读全文
1 0
- ORM还有一支 EF的增删改
- ORM框架EF(一)增删改查
- ORM之EF学习---增删改查
- EF的增删改查
- EF 的增删改查
- EF简单的增删查改
- EF简单的增删查改
- EF增删改查的优化
- MCV |--------- EF的增删查改-------
- EF最基本的增删改查
- EF增删改查
- EF增删查改
- EF增删改查
- ef增删改查
- mongodb学习一 关于 下载 安装 以及增删改查 还有一些简单的命令
- EF操作增删改查
- EF中的增删改查
- EF中增删改查
- 使用apache common math 中的聚类方法DBSCAN与Kmeans
- 操作系统(Operating System)9 单处理器调度
- Django权限机制的实现
- (首页上一页下一页尾页 + 下拉框跳转)分页功能
- 初探 iOS 内存管理
- ORM还有一支 EF的增删改
- JVM内存空间管理
- maven新手学习教程
- ORACLE SQL调优之执行计划与隐藏参数_complex_view_merging
- http://www.jb51.net/article/84149.htm
- 书籍收藏(C/C++)
- CA认证原理以及实现(上)
- spring-boot过滤器
- C++编程错误