【菜鸟看框架】——浅谈EF框架

简介: 【菜鸟看框架】——浅谈EF框架


引言


在上一篇博客中说道在合作小组中接触到了很多新的知识,这些新的知识让我感到我们现在还是一只很弱小的菜鸟,我们根本不知道外面的事物是多么的新鲜,在我们之外还有多少东西是需要我们好好学习的,所以现在我们的时间相对需要学习的知识来说真的是太少了,我们真的应该多学习一些新的知识来充实我们自己,最近我负责的底层为了能更接近ITOO,我们采用了EF实体框架。经过这几天的学习和研究可以说对EF框架有了那么一点点的认识,在这和大家分享。


基本知识


在介绍EF之前我们先来了解一种思想——O/R Mapping:

广义上,ORM指的是面向对象的对象模型和关系型数据库的数据结构之间的相互转换。狭义上,ORM可以被认为是,基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口。理想情况下,基于这样一个面向对象的接口,持久化一个OO对象应该不需要要了解任何关系型数据库存储数据的实现细节。



20150526110909107.png


EF概念:实体框架(Entity Framework)是ADO.NET中的一组支持面向数据的软件应用程序的技术,是微软的一个ORM框架。ORM的核心思想就是把实体的变化映射成表的变化,这样我们在开发的时候不再关心数据库中的表的东西,而是直接面向实体开发。


图解:下面就给大家展示两张照片来简单介绍EF的核心流程。


20150526103011677.png


从上面这张图中我们可以从宏观上看出EF的核心流程这样的,我们的增、删、改、查操作不再是之间面向数据库中的表来操作,而是面向中间的一个上下文(objectContext)来实现,直接操作实体,这些操作经过OR映射完成对相应数据库的操作。下面在给大家一个微软公司对EF实体框架的一个图解。


20150526102845213.png


Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象(entity),而数据字段都转换为属性(property),关系则转换为结合属性(association),让数据库的E/R 模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。而在抽象化的结构之下,则是高度集成与对应结构的概念层、对应层和储存层,以及支持 Entity Framework 的数据提供者(provider),让数据访问的工作得以顺利与完整的进行。


这样我们的开发人员就不用在花费很的力气来掌握和学习那些对数据的操作语言,我们就可以利用LINQ语句对实体操作来完成我们的数据更改操作。


EF框架的优点


1、应用程序不再对特定的数据引擎后存储架构具有硬编码的依赖性。


2、可以在不更改应用程序代码的情况下更改概念模型和特定于存储的架构之间的映射。


3、开发人员可以利用映射到各种存储架构(可能在不同的数据库管理系统中实现)一致的应用程序对象模型。


4、多个概念模型可以映射到同一个存储架构


5、语言集成查询支持可为查询提供针对概念性模型的编译时语法验证。


小结


在这篇博客中我给打大家在理论上介绍了一下到底什么实体框架,以及实体框架的核心思想和内容流程,让我们先对这这种思想有一种宏观的认识,也就是达到了 是什么 的阶段,在下一篇博客中我将介绍在VS2013开发环境下怎样实现这种操作,给大家做一个简单的增、删、改的小例子。上面都是小菜鸟的见解如果不对,请大神斧正!!


目录
相关文章
|
SQL 存储 开发框架
EF框架如何搭建
EF框架如何搭建
|
SQL 存储 XML
|
存储 关系型数据库 数据库连接
EF框架(一)搭建过程
EF:Entity Framework的简写,实体框架,EF是ADO.net的一组支持开发面向数据的软件应用程序的技术,是微软的一个orm框架。介绍EF框架之前,先带大家了解一下ORM。
102 0
|
大数据 数据库 C++
【菜鸟看框架】——MVC+EF实现分页
【菜鸟看框架】——MVC+EF实现分页
123 0
【菜鸟看框架】——MVC+EF实现分页
|
数据库
【菜鸟看框架】——如何给EF实体添加注释
【菜鸟看框架】——如何给EF实体添加注释
169 0
【菜鸟看框架】——如何给EF实体添加注释
|
SQL 关系型数据库 C#
.NET(C#)有哪些主流的ORM框架,SqlSugar,Dapper,EF还是...
前言 在以前的一篇文章中,为大家分享了《什么是ORM?为什么用ORM?浅析ORM的使用及利弊》。那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,SqlSugar,Dapper,Entity Framework(EF)还是ServiceStack.OrmLite?或者是你还有更好的ORM推荐呢? 如果有的话,不防也一起分享给大家。
15787 0
|
SQL Cloud Native 架构师
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记
- 关联数据加载 - 客户端与服务端运算 - 跟踪与不跟踪 - 复杂查询运算 - 原生 SQL 查询 - 全局查询筛选器
243 0
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记
|
Cloud Native 架构师
|
存储 开发框架 Cloud Native
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 基础与配置)--学习笔记
- 连接字符串 - 异步编程 - 日志 - DbContext池 - 类和配置表 - 属性和列配置 - 并发token - 索引
307 0
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 基础与配置)--学习笔记
|
SQL Cloud Native 架构师
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 介绍)--学习笔记
- ORM - Repository 仓储 - UnitOfWork 工作单元 - DB Context 与 DB Set - EF Core快速开始示例
290 0
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 介绍)--学习笔记