【EF映射】EF原理及延迟加载
2016-07-29 22:51
169 查看
上一篇《【EF映射】EF入门(一)》中我们对EF有了简单的了解,接下来我们更加深入的去学习一下EF的原理以及怎么用lambda表达式去实现对数据库增删改等功能。
1.封装了数据库的统一入口,EF上下文;
2.把对实体的操作放入上下文中;
3.把对实体操作产生的变化生成Sql脚本执行到数据库中;
形参列表=>函数体
函数体多于一条语句的可用大括号括起。
第二种:
关于EF的学习,学好理论是前提,自己动手实践才能找到真正的去理解。我们要学习的东西还要很多,不要把知识独立起来,试着去构建知识网,把知识之间联系起来。
EF图解:
EF的核心思想:将表实体的变化,映射到表的变化;
在ADO .NET中用于存取和管理资料的两个主要元件是.NET Framework 资料提供者和 DataSet,5大对象实现应用 程序和数据库之间的操作。而在EF中1.封装了数据库的统一入口,EF上下文;
2.把对实体的操作放入上下文中;
3.把对实体操作产生的变化生成Sql脚本执行到数据库中;
EF原理:
跟踪实体的变化,然后根据映射关系以及实体的变化生成相应的sql脚本,并执行到数据库中去。延迟加载
再说延迟加载之前,我们先来了解一下Lambda表达式,C#的Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。语法如下:形参列表=>函数体
函数体多于一条语句的可用大括号括起。
第一种:
var items=from c in db.Customerwhere c.ID<10 select c ; foreach(var customer in items) { console.writer line(customer.ID); }
第二种:
var customers=from c in db.Customer select c; foreach(var cus in customers) { console.writeLinez(cus.ID+"______"); foreach( var order in cus.orfer) { console.writeLine(order.ID); } console.writeLine("______"); }【总结】
关于EF的学习,学好理论是前提,自己动手实践才能找到真正的去理解。我们要学习的东西还要很多,不要把知识独立起来,试着去构建知识网,把知识之间联系起来。
相关文章推荐
- 联想 昭阳 E41-80 i7-6500U 安装 win7 方法说明
- 图论 最大流 Dinic
- 跟我学Redis(4)—Redis配置文件redis.conf
- beego环境无脑搭建
- Android图片缓存之Glide进阶(四)
- HashMap源码分析(基于JDK1.6)
- uboot移植之网络驱动移植--移植理论知识--7.29
- 【杭电oj1181】变形课
- 面向对象和面向过程的区别
- IndexOf的用法
- POJ 1258 Agri-Net (最小生成树)
- Linux NFS服务器的安装与配置(转载)
- Shortest Path in a weighted Graph where weight of an edge is 1 or 2
- 跟我学Redis(3)—Linux安装Redis
- liunx试卷
- Android图片缓存之初识Glide(三)
- 单例模式
- 51模拟I2c,原理+程序
- 智慧短信项目笔记1
- 仿QQ5.5登陆框