当前位置: 首页 > news >正文

C#系列-Entity Framework 架构(18)

下图展示了EF的整体架构。现在让我们逐个地看看架构的各个组件:

EF组件图

EDM(Entity Data Mode 实体数据模型):EDM 由三个主要部分组成:概念模型,映射和存储模型。

Conceptual Model(概念模型): 概念模型包含模型类及他们之间的关系。 这将独立于您的数据库表设计。

Storage Model(存储模型):存储模型是包括表,视图,存储过程及其关系和密钥的数据库设计模型。

Mapping(映射): 映射包含了如何将概念模型映射到存储模型的信息。

LINQ to Entities :LINQ to Entities 是一种用于对象模型上的查询语言。它返回在概念模型中定义的实体。在这你可以使用你的LINQ技能。

Entity SQL: Entity SQL是另外一种类似于LINQ to Entities 的查询语言。但是,它相比于LINQ to Entities 有一定难度,开发人员需要单独学习。

Object Service: Object service是一个访问数据库中数据且将数据返回的主入口点。Oject Service负责实例化,这是将从Entity Client Data Provider 返回的数据(下一层)转换为一个实体对象结构的过程。

Entity Client Data Provider:这层的主要职责是将LINQ to Entities 或 Entity SQL 查询语句转为底层数据库可以理解的SQL语句。它与ADO.Net Data Provider通信,而ADO.Net Data Provider又是从数据库发送或检索数据的。

ADO.Net Data Provider:这一层使用标准的ADO.Net与数据库通信。

相关文章:

  • 【QT+QGIS跨平台编译】之三十三:【SpatiaLite+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
  • STM32学习笔记(七) —— DMA传输(MTM)
  • MySQL数据库⑪_C/C++连接MySQL_发送请求
  • 初识数据库:探索数据的世界
  • 统计平台项目总体架构设计方案
  • 51单片机 温度传感器得数据,传到上位机
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • Rust 学习笔记 - 流程控制 与 Range 类型
  • ZYNQ:PL-CAN总线功能应用
  • CSS之重绘与回流
  • StringJoiner
  • GEE:关于在GEE平台上进行回归计算的若干问题
  • 3秒实现无痛基于Stable Diffusion WebUI安装ComfyUI!无需重复安装环境!无需重复下载模型!安装教程
  • 通过 Prometheus 编写 TiDB 巡检脚本(脚本已开源,内附链接)
  • 【Unity】【VR开发】针对VR项目的优化版Unity Build Settings
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [case10]使用RSQL实现端到端的动态查询
  • [译] React v16.8: 含有Hooks的版本
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Druid 在有赞的实践
  • ECMAScript6(0):ES6简明参考手册
  • Elasticsearch 参考指南(升级前重新索引)
  • EventListener原理
  • leetcode388. Longest Absolute File Path
  • PHP 的 SAPI 是个什么东西
  • Redash本地开发环境搭建
  • redis学习笔记(三):列表、集合、有序集合
  • unity如何实现一个固定宽度的orthagraphic相机
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 给第三方使用接口的 URL 签名实现
  • 简单实现一个textarea自适应高度
  • 简单数学运算程序(不定期更新)
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 责任链模式的两种实现
  • 回归生活:清理微信公众号
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • # .NET Framework中使用命名管道进行进程间通信
  • (1)(1.13) SiK无线电高级配置(六)
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (Note)C++中的继承方式
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (十六)一篇文章学会Java的常用API
  • (五)c52学习之旅-静态数码管
  • (一)插入排序
  • (一)为什么要选择C++
  • .“空心村”成因分析及解决对策122344
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .NET大文件上传知识整理