EF框架简介

EF框架简介EF 全称是 EntityFramew EntityFramew 是 ADO NET 中的一套支持开发面向数据的软件应用程序的技术 是微软的一个 ORM 框架 ORM 框架 ObjectRelati 翻译过来就是对象关系映射 二 EF 实体框架整体架构 架构组件 EDM 实体数据模型 EDM 由三个主要部分组成 概念模型 映射和存储模型 ConceptualMo 概念模型包含模型类及其关系 这将独立于您的数据库表设计 Sto

EF 全称是 EntityFramework 。

二、EF实体框架整体架构:

在这里插入图片描述

架构组件:
  EDM(实体数据模型): EDM由三个主要部分组成 – 概念模型,映射和存储模型。
  Conceptual Model:概念模型包含模型类及其关系。这将独立于您的数据库表设计。
  Storage Model:存储模型是包括表,视图,存储过程及其关系和密钥的数据库设计模型。
  Mapping:映射由有关概念模型如何映射到存储模型的信息组成。
  LINQ to Entities: LINQ to Entities是一种用于针对对象模型编写查询的查询语言。它返回在概念模型中定义的实体。你可以在这里使用你的LINQ技能。
  Entity SQL:实体SQL是另一种查询语言(仅适用于EF 6),就像LINQ to Entities一样。然而,这比L2E稍微难一些,开发者需要单独学习。
  ObjectServices:对象服务是访问数据库中的数据并将其返回的主要入口点。对象服务负责实现,这是将从实体客户端数据提供者(下一层)返回的数据转换为实体对象结构的过程。
  Entity Client Data Provider:此层的主要职责是将LINQ-to-Entities或实体SQL查询转换为底层数据库可以理解的SQL查询。它与ADO.Net数据提供者通信,而ADO.Net数据提供者又从数据库发送或检索数据。
  ADO.Net Data Provider:该层使用标准的ADO.Net与数据库进行通信。








三、EF 的优势(与 的对比)

  如果不用ORM框架,我们一般这样来使用ADO.NET进行数据库开发:

四、EF框架的三种模式

在这里插入图片描述

Database First(数据库优先)

  如果已经拥有数据库,Visual Studio中内置的Entity Framework设计器可以自动生成一个数据模型,该模型由对应于现有数据库对象(如表和列)的类和属性组成。有关数据库结构,数据模型及映射之间的信息以XML格式存储在.edmx文件中。实体框架设计器提供了一个可视化界面,您可以使用它来显示和编辑.edmx文件。

Model First(模型优先)

  如果您还没有数据库,则可以使用Visual Studio中的Entity Framework设计器在.edmx文件中创建一个模型。当模型建完后,可以执行.edmx文件来创建数据库。

Code First(代码优先)

  无论您是否拥有数据库,都可以使用Code First。如果没有数据库,可以编写类和对应于表和列的属性。如果有数据库,那么Entity Framework可以生成与现有表和列对应的类和属性。如果使用Code First创建数据库,则可以使用“migration(迁移)”来将数据库部署到生产环境。当数据模型更改时,可以将更改部署到生产环境中,而不改变原有的数据

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224873.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午10:56
下一篇 2026年3月17日 上午10:57


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号