C#:EF与ORM的详解。

本文来自: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;有时会出现找不到更新过的实体类情况

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值