当前位置: 首页 > 工具软件 > ef-orm > 使用案例 >

C# EF 与 ORM 讲解

和谦
2023-12-01

一、EF与ORM是什么关系?

EF(全名:Entity Framework)是微软封装好一种ADO.NET数据实体模型,将数据库结构以ORM模式映射到应用程序中。

二、什么是ORM

1、广义:ORM指的是***面向对象模型***和***关系型数据库***之间的相互转换。(可以理解为数表实体与表的相互转换);
2、狭义:ORM可以被认为是基于***关系型数据库***的数据存储
实现一个面向对象的数据访问接口,理想情况下,基于这样一个面向对象的接口,持久化一个OO(object oriented 面向对象)对象应该不需要了解任何关系型数据库存储数据的实现细节。

ORM是将数据存储从域对象自动映射到关系型数据库的工具。其中,ORM主要包括三个部分(域对象、关系数据库对象、映射关系)。ORM使类提供自动化CRUD,使得开发人员从数据库API和SQL中解放出来。

三、什么是EF(全名:Entity Framework)框架?

它是微软封装好一种ADO.NET数据实体模型,将数据库结构以ORM模式映射到应用程序中。
EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。
开发人员使用Linq语言,对数据库操作如同操作object对象一样省事。
EF有三种使用场景:
1、从数据库生成Class(Database First);
2、由实体类生成数据库表结构(Model First);
3、通过数据库可视化设计器设计数据库,同时生成实体类(Code First )。

四、EF(全名:Entity Framework)框架的优劣分析?

优点:

1、简介的Linq to Sql语句大大的提高了开发人员的工作效率,不用再写复杂的sql语句,并且可读性强。
2、不需要再管理程序如何去链接数据库
3、EF可以用作于数据服务和OData Service的基础设施。


缺点:
 

1、由于Linq语句编译之后就是sql,对于这种自动生成的sql语句无法控制;
2、EF的运行机制会消耗大量内存,大大的降低了程序的运行效率,从而导致降低了用户在客户端的体验效果;
3、一旦数据库表结构发生变化,需要更新EF数据Model;有时会出现找不到更新过的实体类情况

 类似资料: