前言

Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。
Entity Framework的主要特点:
1. 支持多种数据库(Microsoft SQL Server, Oracle, and DB2);
2. 强劲的映射引擎,能很好地支持存储过程;
3. 提供Visual Studio集成工具,进行可视化操作;
4. 能够与ASP.NET, WPF, WCF, WCF Data Services进行很好的集成。

思考?有EF我们就不用自己写SQL语句了,EF到底做了哪些事情了,我们来探索一下?

我们知道edmx文件是EF的元数据那么我们用XML方式打开EDMX文件可以看到如下所示数据:

图中的SSDL就表示数据库的配置节点,CSDL实体配置节点,C-S实体和数据库的关系映射。

我们发现SSDL配置节点中的GroupInfo节点XML数据和我们数据中的数据完成符合。如下图

SSDL就表示数据库的配置节点中的GroupInfo

CSDL实体配置节点中的GroupInfo

C-S实体和数据库的关系映射中的GroupInfo

了解了这些,那么我们看看EF到底是怎么生成SQL的

private void button1_Click(object sender, EventArgs e)
{
//1.0 实例化EF上下文容器类的对象
PhoneBookEntities db = new PhoneBookEntities(); //2.0 查询GropuINfo中的ID<209所有数据
db.GroupInfo.Where(c => c.GroupId < ).ToList().ForEach(c => Console.WriteLine(c.GroupName));
}

从上图中的代码和分析图我们可以看出:

1.EF紧紧是做了一层包装,最终还是要在底层调用Ado.NET

2.EF只是负责生成SQL语句,发送给Ado.NET,Ado.NET负责从DB中读取数据,最终返回给我们的EF

3.EF中edmx元数据获取DB表的结构的描述

4.我们要生成的查询SQL语句 select GroupId,GroupName,GroupType from GroupInfo这些可以从元数据中获取where之后的条件可以由我们的c => c.GroupId < 209提供

由此EF的神秘面纱被我们揭开~~~

最新文章

  1. 常用 Git 命令
  2. SQLite XXTea加密学习
  3. WPF、Sivelright、UWP
  4. 将程序部署到weblogic出现乱码问题
  5. SQL Server 常用命令使用方法
  6. Rsync 详细配置说明
  7. 《c程序设计语言》读书笔记--字符串复制
  8. CSS3中渐变gradient详解
  9. iOS上用FTGL显示定制Truetype字体碰到的问题
  10. 将less编译成css的gulp插件
  11. openstack私有云布署实践【11.1 计算nova - compute节点配置(科兴环境)】
  12. Natas Wargame Level 15 Writeup(Content-based Blind SQL Injection)
  13. 团队项目7——团队冲刺(beta版本)
  14. 带你深入理解STL之Stack和Queue
  15. 洛谷 P1430 解题报告
  16. mssql sqlserver 三种数据表数据去重方法分享
  17. 微信小程序之弹框modal
  18. mysql5.7忘记密码时,修改root密码
  19. Firebird 手动安装 Legacy_Auth 登陆认证
  20. 【市场调研与分析】Intel发力移动安全领域——By Me at 20140613

热门文章

  1. ID、句柄、指针、对象互相转换
  2. sublime text配置node.js调试
  3. 编写Shell脚本
  4. php apache
  5. Jmeter录制badboy
  6. 1、K-means
  7. delphi控制 word的几种方法--转
  8. LogisticRegression in MLLib
  9. 一些LinuxC的小知识点(一)
  10. 过滤器中获取form表单或url请求数据