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

C#:EF与ORM的详解。

赵选
2023-12-01

本文来自:http://www.cnblogs.com/xuf22/articles/5513283.html

一、什么是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。2、由实体类生成数据库表结构。
3、通过数据库可视化设计器设计数据库,同时生成实体类。

三、EF框架的优缺点

优点

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

3、EF可以用作于数据服务和OData Service的基础设施。

缺点:

1、由于Linq语句编译之后就是sql,对于这种自动生成的sql语句无法控制;

2、EF的运行机制会消耗大量内存,大大的降低了程序的运行效率,从而导致降低了用户在客户端的体验效果;

3、一旦数据库表结构发生变化,需要更新EF数据Model;有时会出现找不到更新过的实体类情况

 类似资料: