Entity Framework 笔记(一)
- Entity Framework概述
EF是一个对象关系映射(ORM)框架,允许开发人员使用特定于域的对象关系型数据,开发人员通常不需要编写大量的数据访问代码。使用EF,开发者可以利用LINQ进行查询,并可以将结果以强类型返回。实体框架的实现提供服务,如更改跟踪,标识解析,延缓加载,以便开发者可以专注于他们应用程序的业务逻辑,而不是基础的数据访问。
简单的来说:EF是一个ORM(Object/Relational Maping)框架,是一个增强了的ADO.NET,为开发人员提供了访问数据库中的数据存储和处理结果自动化机制,除了DataReader 和DataSet之外。
ORM是一个像MS SQL Server的工具,不需要太多的编码,以自动化的方式实现域对象到关系数据库的存储数据。ORM 包括三个主要部分:域类对象,关系数据库对象和域类对象映射到关系数据库的映射信息。ORM使得数据库设计与域类对象设计保持分离,让应用有了可维护性和可扩展性。自动执行的标准操作(创建、读取、更新删除),因此开发人员不需要手动写
- Entity Framework体系
EF的结构体系如图所示:
EDM(Entity Data Model):EDM有三个部分组成:概念模型,映射和存储模型。
Conceptual Model:概念模型就是定义的实体类和他们的关系,并独立于数据库表的设计。
Storage Model:存储模型就是数据库的设计模型,包括:表,视图,存储过程和他们的关系以及键。
Mapping:描述概念模型是如何映射到存储模型的。
LINQ To Entities:LINQ to Entities 是用于编写查询对象的查询语言。返回的是概念模型中定义的实体对象。开发人员可以使用LINQ技巧做开发。
Entity SQL:Entity SQL和LINQ to Entities 一样是一种查询语言,比L2E难,开发者要重新学习他。详细
ObjectService:对象服务是用于访问数据库中的数据并返回的主入口点。
Entity Client Data Provider:负责L2E和Entity SQL转换成SQL。利用ADO.NET数据提供程序发送或检索数据。
ADO.NET Data Provider:使用标准的ADO.NET与数据库通信。
- Entity Framework 开发模式:
简单的来下EF的开发模式。
DataBase First:基于已经存在的数据库,生成EDM。
Model First:根据实体EDM生成数据库。
Code First:先从代码开始,然后实体框架生成数据库。
每种方式的具体使用方式,会在后续中陆续写到……
Entity Framework 笔记(一)的更多相关文章
- Entity Framework笔记(一)
最近在看MVC方面的资料,看了几个教程都在使用Entity Framework做数据持久化.之前也听说过这个东西,在微软的网站上看过一个演示视频,但都没怎么去仔细研究.MVC的东西太庞大了,先慢慢熟悉 ...
- Entity Framework笔记(二)
前几日学习了在VS2010Console项目中使用Entity Framework,并且使用Code First模式.通过编写Model类,来生成数据库对应的表.并且,往表中写入数据以及获取表中的所有 ...
- .NET:Entity Framework 笔记
有二年没关注EF,今天无意试了下发现跟主流的Hibernate等ORM框架越来越接近了,先看下Entity类的定义: using System; using System.Collections.Ge ...
- Entity Framework 学习笔记(2)
上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// ...
- Entity Framework学习笔记
原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总 之前的小项目做完了,到了总结经验和 ...
- Entity Framework 6 学习笔记2 — 增、删、改、显示简单代码示例
前言 通过 “Entity Framework 6 学习笔记1 — 介绍和安装方法”文章我相信大家对EF的安装应该没什么问题了,整体安装还是比较简单的,只需要通过Nuge搜索EF然后安装就可以了,这也 ...
- ADO.NET Entity Framework学习笔记(3)ObjectContext
ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转] 说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...
- .NET 5学习笔记(10)——Entity Framework Core之切换SQLServer和SQLite
上一篇我们梳理了CodeFist的一般流程,本篇我们讨论如何在一套代码中,支持SQL Server和SQLite的切换.同时从本篇开始,我们从.NET Core 3.1 迁移到.NET 5.相信.NE ...
- MVC中使用Entity Framework 基于方法的查询学习笔记 (一)
EF中基于方法的查询方式不同于LINQ和以往的ADO.NET,正因为如此,有必要深入学习一下啦.闲话不多说,现在开始一个MVC项目,在项目中临床学习. 创建MVC项目 1.“文件”--“新建项目”-- ...
随机推荐
- ASP.NET MVC 4 Optimization的JS/CSS文件动态合并及压缩
JS/CSS文件的打包合并(Bundling)及压缩(Minification)是指将多个JS或CSS文件打包合并成一个文件,并在网站发布之后进行压缩,从而减少HTTP请求次数,提高网络加载速度和页面 ...
- java中自动装箱的问题
package wrapper; public class WrapperDemo { public static void main(String[] args) { Integer a=new I ...
- 给 Web 前端开发人员推荐20款 CSS 编辑器
CSS 和 HTML,JavaScript 是网页的基础,作为前端开发人员,对这三者都要很熟悉.特别是未来流行全栈开发的时代,每项技术都是你知识结构中必要的一个节点. 在开发中,选择好工具是非常重要的 ...
- 移植SlidingMenu Android library,和安装example出现的问题解决
很多项目都用到类似左侧滑动菜单的效果,比如facebook,evernote,VLC for android等等,这很酷 源代码可以从GitHub的https://github.com/jfeinst ...
- 谈谈Java程序员进阶的那些知识和方向
谈谈Java程序员进阶的那些知识和方向 记得前段时间看过一篇文章谈到一种程序员叫野生程序员,战斗力极强,可以搞定一切问题,但是通常看问题抓不到本质,或者说是google/baidu/stackover ...
- GDB 和 windbg 命令对照(转载)
From:http://blog.csdn.net/joeleechj/article/details/10020501 命令 ...
- Windows Azure Cloud Service (41) 修改云服务IIS托管管道模式为4.0经典模式
<Windows Azure Platform 系列文章目录> 这是笔者在之前的项目中遇到的问题,做一下总结,给网友做参考. 在一般情况下,Visual Studio开发的Cloud Se ...
- path入门 20141102-1405
那Python有哪些缺点呢? 第一个缺点就是运行速度慢,和C程序相比非常慢, 第二个缺点就是代码不能加密. Python是解释型的 不是编译型的 Python解释器-CPython 命令行: 只需要在 ...
- UWP开发入门(二十一)——保持Ui线程处于响应状态
GUI的程序有时候会因为等待一个耗时操作完成,导致界面卡死.本篇我们就UWP开发中可能遇到的情况,来讨论如何优化处理. 假设当前存在点击按钮跳转页面的操作,通过按钮打开的新页面,在初始化过程中存在一些 ...
- Maven提高篇系列之(四)——使用Profile
这是一个Maven提高篇的系列,包含有以下文章: Maven提高篇系列之(一)——多模块 vs 继承 Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例) ...