Entity Framework视频教程
Entity Framework视频教程

entity framework 是微软开发的一套基于ado.net的ORM框架,使用它,开发者可以完全不写sql脚本, 就可以对数据库进行操作了, 让开发者更多的关注业务而不是关注数据的,使用EF可以帮我们完成数据库的创建甚至数据的迁移也可以...

共8集 已完结 创建时间:2016-08-04 20:45

收藏:7 访问:7335 学生:97

Entity Framework 是微软开发的一套基于ado.net的ORM框架,使用它,开发者可以完全不写sql脚本,  就可以对数据库进行操作了,  让开发者更多的关注业务而不是关注数据的,使用EF可以帮我们完成数据库的创建甚至数据的迁移也可以通过EF来实现,EF和ASP.NET MVC 是非常好的搭配。

本课程是在2014年的时候录制的,课程可能有些老,适合入门,在以后的时间里面,作者将会继续花时间去整理和对EF的讲解。


实体框架核心是.NET的现代对象数据库映射器。它支持LINQ查询,更改跟踪,更新和架构迁移。


在.NET 3.5之前,我们(开发人员)经常用来编写ADO.NET代码或企业数据访问块,以从底层数据库中保存或检索应用程序数据。我们曾经用来打开与数据库的连接,创建一个DataSet来获取或提交数据到数据库,将数据从DataSet转换为.NET对象,反之亦然以应用业务规则。这是一个麻烦且容易出错的过程。Microsoft提供了一个称为“实体框架”的框架,可以为您的应用程序自动化所有这些与数据库有关的活动。

实体框架是Microsoft支持的.NET应用程序的开源ORM框架。它使开发人员可以使用领域特定类的对象来处理数据,而无需关注存储该数据的基础数据库表和列。使用Entity Framework,开发人员在处理数据时可以以更高的抽象层次工作,并且与传统应用程序相比,可以用更少的代码来创建和维护面向数据的应用程序。

官方定义:“实体框架是一种对象关系映射器(O / RM),它使.NET开发人员能够使用.NET对象处理数据库。它消除了开发人员通常需要编写的大多数数据访问代码。”

下图说明了实体框架适合您的应用程序的位置。

ef-in-app-architecture.png

如上图所示,实体框架适合于业务实体(域类)和数据库之间。它保存存储在业务实体属性中的数据,还从数据库中检索数据并将其自动转换为业务实体对象。


EF 6版本历史

Snipaste_2020-04-29_20-44-56.png


实体框架功能

跨平台: EF Core是可以在Windows,Linux和Mac上运行的跨平台框架。

建模: EF(实体框架)基于具有不同数据类型的获取/设置属性的POCO(普通旧CLR对象)实体创建EDM(实体数据模型)。在将实体数据查询或保存到基础数据库时,它将使用此模型。

查询: EF允许我们使用LINQ查询(C#/ VB.NET)从基础数据库检索数据。数据库提供程序会将LINQ查询转换为特定于数据库的查询语言(例如,关系数据库的SQL)。EF还允许我们直接对数据库执行原始SQL查询。

更改跟踪: EF跟踪需要向数据库提交的实体实例(属性值)发生的更改。

保存: EF会根据您在调用SaveChanges()方法时对实体进行的更改,对数据库执行INSERT,UPDATE和DELETE命令。EF还提供了异步SaveChangesAsync()方法。

并发性:由于从数据库中提取了数据,EF默认情况下使用Optimistic并发性来保护其他用户所做的覆盖更改。

事务: EF在查询或保存数据时执行自动事务管理。它还提供用于自定义事务管理的选项。

缓存: EF包括开箱即用的第一级缓存。因此,重复查询将从缓存中返回数据,而不是访问数据库。

内置约定: EF在配置编程模式上遵循约定,并包括一组自动配置EF模型的默认规则。

配置: EF允许我们通过使用数据注释属性或Fluent API覆盖默认约定来配置EF模型。

迁移: EF提供了一组迁移命令,可以在NuGet软件包管理器控制台或命令行界面上执行这些命令,以创建或管理基础数据库架构。