Entity Framework 学习系列(1) - 认识理解Entity Framework

目录

  • 写在前面
  • 什么是Entity Framework
  • EF的优缺点
    • 1.优点
    • 2.缺点
  • 如何理解ORM
  • EF执行的原理

写在前面



在使用.net mvc 开发的时候。为了高效的开发,我们常常会搭配ORM框架使用。

而Entity Framework正是微软开发的一种ORM框架。一般情况下,我们很少用全称,

而是直接用EF。因为都是微软的产品,所以通常它和MVC是黄金搭档。

什么是Entity Framework



全称ADO.NET Entity Framework,简称为EF。优点是能高效的开发,缺点就是会损害性能。

所以,如果业务太过与庞大,对性能要求很高的。不建议使用EF进行开发。

可以使用轻量级的ORM框架进行开发。

EF的优缺点


1.优点

【1】.极大地提高开发效率。写代码效率非常高,自动化程序高。
【2】.支持多种数据库(mysql,oracle,sqlserver)。
【3】.强劲的映射,可以支持可视化操作。
【4】.提供Visual Studio 集成工具,进行可视化操作。

2.缺点

【1】.EF性能不好,性能有损耗。在复杂查询的时候生成的SQL脚本效率不是很高。
【2】.数据库端性能损耗是一样的,但是在将对象状态转换成SQL语句时,会损失性能。

如何理解ORM


  • 广义上,它是面向对象的对象模型和关系型数据库的数据结构之间的相互转换。
  • 狭义上,它是基于关系型数据库的数据存储,实现一个虚拟的面向对象的数据访问接口。在持久化一个OO对象不需要了解任何关系型数据库存储数据的实现细节。
  • 在关系型数据库的世界里没有继承关系。
  • 在面向对象的世界里,我们使用单向关联。 然鹅,在关系型数据库的世界里,我们使用外键双向关联。
  • ORM是对象世界和关系世界的一座桥梁,通过映射关系,简化了大量操作数据库的代码。

EF执行的原理



EF执行的原理是 反射和特性

【1】首先,EDM利用特性来标识实体映射到具体数据库中的TableName 属性对应的具体表的ColumnName,还有主键,外键,默认值等,都是特性来标识的。

【2】然后通过反射技术,从EF中edm元数据库中获取数据库表的结构的描述

【3】再根据增删改查操作方法,就可以产生对应的SQL语句。

【4】然后发送个ADO.NET,

【5】最终由ADO.NET 负责从数据库中读取数据,返回给EF。

原文地址:https://www.cnblogs.com/ZengJiaLin/p/11388094.html

时间: 2024-11-06 03:45:48

Entity Framework 学习系列(1) - 认识理解Entity Framework的相关文章

Entity Framework 学习系列(4) - EF 增删改

目录 写在前面 一.开发环境 二.创建项目 三.新增 1.单表新增 2.批量新增 3.多表新增 四.编辑 1.先查询,后编辑 2.创建实体,后编辑 五.删除 写在前面 在上一小节中,学习了如何 通过Code First + MySql 的方式实现数据的迁移. 这一下节中,总结 EF的增删改. 一.开发环境 开发工具:Visual Studio 2019 开发环境:Win 10 家庭版 数据库:MySQL 8.0.17 二.创建项目 1.打开Visual Studio 2019 新建->创建程序台

Entity Framework Core系列之什么是Entity Framework Core

前言 Entity Framework Core (EF Core)是微软推荐的基于.NET Core framework的应用程序数据访问技术.它是轻量级,可扩展并且支持跨平台开发.EF Core是一种对象关系映射器(ORM).通过应用程序实体对象和关系数据库中的数据的映射,使得开发人员能够以面向对象的方式处理数据. 为什么使用ORM 大多数开发框架都包含库,这些库允许通过类似记录集的数据结构访问关系数据库中的数据.下面的代码示例演示了一个典型的场景,即数据从数据库中检索并存储在ADO.NET

Entity Framework 学习

Entity Framework 学习初级篇1--EF基本概况... 2 Entity Framework 学习初级篇2--ObjectContext.ObjectQuery.ObjectStateEntry.ObjectStateManager类的介绍... 7 Entity Framework 学习初级篇3-- LINQ TOEntities. 10 Entity Framework 学习初级篇4--EntitySQL. 17 Entity Framework 学习初级篇5--ObjectQ

Entity Framework 学习笔记(2)

上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// Context相当于一个数据库 /// </summary> public class MusicContext : DbContext { //base("LocalDB")表示要用到config文件中的名为"LcoalDB"的连接字符串 public

MVC5 Entity Framework学习

MVC5 Entity Framework学习(1):创建Entity Framework数据模型 MVC5 Entity Framework学习(2):实现基本的CRUD功能 MVC5 Entity Framework学习(3):添加排序.筛选和分页功能 MVC5 Entity Framework学习(4):弹性连接和命令拦截 MVC5 Entity Framework学习(5):Code First迁移和部署 MVC5 Entity Framework学习(6):创建复杂的数据模型 MVC5

Entity Framework Code First学习系列

Entity Framework Code First学习系列目录 Entity Framework Code First学习系列说明:开发环境为Visual Studio 2010 + Entity Framework 5.0+MS SQL Server 2012,在数据库方面Entity Framework Code First在Entity Framework 5.0仅支持MS SQL Server数据库.在接下来的随笔中,均使用项目名称为Portal的控制台应用程序为例.具体的系统学习目

Entity Framework 6.1 学习系列1--概况、安装

http://blog.csdn.net/huohaitao/article/details/24025293 Entity Framework:实体框架,看名字就知道是针对模型数据的.这是MS推出的一款ORM工具. 与NHibernate比较 1)Entity Framework封装性更好,增.删.改.查询更方便 2)  Entity Framework使用更方便的Linq to Entity查询,延迟加载(只有在需要时才加载,只加载需要的数据). 3)开发效率很高,使用DBFirst几乎不用

Entity Framework 实践系列 —— 搞好关系 - 单相思(单向一对一,one-to-one)

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 原以为躲入代码世界,就可以不用搞关系,哪知"关系无处不在".写代码多年之后,终于明白"面向对象的关键是搞好对象之间的关系".而Entity Framework作为ORM中的明日之星,首当其冲的使命就是配合对象搞好关

Entity Framework技术系列之8:使用Entity Framework技术实现RBAC模型

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 前言 RBAC(Role-Based Access Control,基于角色的访问控制),是继DAC(Discretionary Access Control,自主访问控制)和MAC(Mandatory Access Control,强制访问控