Entity framework 6.0

1:Entity属于一种ORM.ORM是实体关系模型,O就是demain object 领域模型 R是relational database 关系型数据库M是Mapping,映射关系,而entity就是将领域模型映射成实体关系,打通or

什么是 Entity Framework?
在 .NET 3.5 之前,我们(开发者)通过写 ADO.NET 代码或者 Enterprise Data Access Block 组件来保存或者检索来自底层数据库应用程序数据。我们要打开一个数据库连接,创建一个 DataSet 来获取数据库数据或者提交数据到数据库,把来自 DataSet 的数据转换成 .NET 对象,或者反过来应用业务规则。这是一个冗长的而且容易出错的一个过程。微软已经提供了一个框架叫做 “Entity Framework” 用来为我们的程序自动完成这些数据库相关的操作。

Entity Framework 是一个被微软支持的为 .NET 程序服务的开源的 ORM 框架。它使开发者能够用特定域的类对象来工作,而不是把精力集中在底层的数据表和数据存储的列上面。有了 Entity Framework ,开发者在处理数据时能够工作在一个更高的抽象层面上,并且能够用比传统程序更少的代码来创建和维护面向数据的程序。

官方定义:“Entity Framework 是一个对象关系映射器(object-relational mapper (O/RM)),它能够使开发者利用 .NET 对象跟数据库打交道。开发者再也不需要写大量的代码用来访问数据。”

下面的图表展示了 Entity Framework 处于我们你们应用程序的什么位置。
在这里插入图片描述

Entity Framework 特性:

跨平台: EF Core 是一个跨平台的框架,它可以运行在 Windows,Linux和 Mac上。
建模: EF (Entity Framework) 创建一个基于 POCO (Plain Old CLR Object) 实体的 EDM (Entity Data Model),POCO实体含有不同数据类型的get/set 属性 (properties)。EF 在查询和保存实体数据到底层数据库的时候会使用 EDM 模型。
查询: EF 允许我们使用 LINQ 查询(C#/VB.NET)从底层数据库检索数据。数据库提供器将 LINQ 查询转换成特定数据库的查询语言(例如:关系型数据库的SQL).EF也允许我们执行原生的SQL查询来查询数据库。
改变跟踪: 实体实例中 (Property values) 中发生的需要被提交到数据库的任意改变将被 EF 持续跟踪。
保存: 当你调用SaveChanges()方法时,EF会根据你的实体的改变执行INSERT, UPDATE, 和DELETE命令。EF也提供异步方法SaveChangesAsync()。
并发: 当其他用户从数据库获取数据后要重写数据时,EF默认采用乐观并发(Optimistic Concurrency)。
事务: 当查询和保存数据时,EF执行自动事物管理。EF也提供了定制事务管理的选项。
缓存: EF包含开箱即用的第一级缓存。所以,重复查询将会返回缓存中的数据,而不是再次访问数据库。
内置约定: EF遵循约定高于配置的编程模式,并且包含了一组默认规则用来自动配置EF模型。
配置: EF允许我们使用数据注释特性或者 Fluent API 来重写默认的约定。
迁移: EF提供了一组迁移命令,可以在 NuGet Package Manager Console 或者 Command Line Interface 中创建和管理底层数据库架构。

基本的流程

在这里插入图片描述
理解上面的 EF 工作流程

第一,你需要定义你的模型。定义模型包括定义域类,继承自 DbContext 的上下文类,和配置(如果有的话)。EF将根据你的模型执行CRUD操作。
要插入数据,那么添加一个域对象到上下文中,并且调用方法SaveChanges()。EF API 将创建一个合适的 INSERT命令并且对数据库执行。
要读取数据,那么在你喜欢的语言(C#/VB.NET)中执行 LINQ-to-Entities 查询。EF API 将把这条查询转换成底层数据库的 SQL 查询并且执行。结果将被转换成域 (entity)对象并且在 UI 上显示。
要编辑或者删除,那么更新或者从上下文中移除实体对象并且调用方法SaveChanges()。EF API将创建合适的 UPDATE 或者 DELETE 命令并且对数据库执行。

Entity Framework 怎样工作的?

Entity Framework API (EF6 & EF Core) 包含把域(entity)类映射到数据库架构,把 LINQ 查询转变成SQL并且执行,在它们的声明周期中跟踪实体的改变,并且保存改变到数据库的能力。

Entity Data Model:
EF API 第一步是创建一个 Entity Data Model (EDM)。EDM 是整个元数据在内存中表示:概念模型,存储模型和他们之间的映射。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值