EF框架如何搭建

简介: EF框架如何搭建

EF出现背景

1、以前程序设计师一定要为了连接与访问数据库而去学习 SQL 指令,因此在信息业中有很多人都在研究如何将程序设计模型和数据库集成在一起,对象关系对应 (Object-Relational Mapping) 的技术就是由此而生。

2、像Hibernate或NHibernate都是这个技术下的产物,而微软虽然有了ADO.NET这 个数据访问的利器,在SqlHelper 里面面通过设置connection ,command ,dataset,datareader等来与数据库交互,这样的话使得我们开发人员把很多精力放在了管理数据访问的ADO.NET 代码上,但是后来在EF 框架中把这块代码进行了封装,开发人员直接通过实体类来完成对数据库的操作。而微软虽然有了ADO.NET这 个数据访问的利器,但却没有像NHibernate这样的对象对应工具,因此微软在.NET Framework 2.0发展时期,就提出了一个ObjectSpace的概念,ObjectSpace可以让应用程序可以用完全对象化的方法连接与访问数据库,其技术概念 与NHibernate相当类似。

3、然而ObjectSpace工程相当大,在.NET Framework 2.0完成时仍无法全部完成,因此微软将ObjectSpace纳入下一版本的.NET Framework中,并且再加上一个设计的工具(Designer),构成了 ADO.NET Entity Framework。

Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (entity),而数据字段都转换为属性 (property),关系则转换为结合属性 (association),让数据库的 E/R 模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。而在抽象化的结构之下,则是高度集成与对应结构的概念层、对应层和储存层,以 及支持 Entity Framework 的数据提供者 (provider),让数据访问的工作得以顺利与完整的进行 。

(1) 概念层(Conceptual Mode):负责向上的对象与属性显露与访问。这将独立于您的数据库表设计。

(2) 对应层(Mapping):将上方的概念层和底下的储存层的数据结构对应在一起。

(3) 储存层(Storage Model):存储模型是包括表,视图,存储过程及其关系和密钥的数据库设计模型。依不同数据库与数据结构,而显露出实体的数据结构体,和 Provider 一起,负责实际对数据库的访问和 SQL 的产生。

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框架是什么?

Entity Framework(EF) Core是ADO.NET的开源对象关系映射(ORM)框架。 但是由于Entity framework版本6与.NET Framework分离,它是.NET Framework的一部分。ADO.NET Entiry Framework是微软以ado.net为基础发展起来的对象关系对应的解决方案。EF的出现的意义是程序员不用在思考sql语句了。微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上。EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。开发人员使用Linq语言,对数据库操作如同操作Object对象一样省事。

EF使用场景

  1. 从数据库生成Class
    2.由实体类生成数据库表结构
  2. 通过数据库可视化设计器设计数据库,同时生成实体类。

EF分类

Model First(模型优先)

利用某些工具(如VS的EF设计器)设计出可视化的实体数据模型及他们之间的关系,然后根据这些实体,关系去生成数据库对象及相关代码文件。

Code First(代码优先)

此模式需要先写出实体对象,数据关系等,然后根据已有的代码描述,自动创建数据对象。此方法与Model First类似。利用代码来表示实体模型,而Model First则是用可视化的方式描述实体模型

Database First(数据优先)

基于已经存在的数据库,利用某些工具(如VS提供的EF设计器)创建实体类,数据库对象与实体类的匹配关系等,然后生成实体框架和相应代码。

EF安装

1、创建一个空白的项目

2选个空项目,创建

工具-。。。

项目—添加—新建项

双击

服务器写 . 默认本地服务器

连接数据库的时候选择复合自己条件的

测试连接,连接成功

点击确定

这样就成功啦!

注意:设计数据库的时候要设置主键,如果没有主键,设置一个自增ID即可。


相关文章
|
17天前
|
SQL 开发框架 .NET
分享几个实用且高效的EF Core扩展类库,提高开发效率!
分享几个实用且高效的EF Core扩展类库,提高开发效率!
|
3月前
|
开发框架 .NET 数据库连接
EF Core 在实际开发中,如何分层?
EF Core 在实际开发中,如何分层?
|
SQL 存储 XML
|
SQL 存储 数据库连接
如何使用 FreeSql 无缝接替 EF Core ?
在使用 `EF Core` 作为默认的 `ORM` 工具操作数据库时,项目中我们或许只能接触到 `DbContext` 对象,没法直接获取 `db` 数据库连接信息,假如有小伙伴想接入 `FreeSQL` 继续使用熟悉的模式,那该怎么办呢?此时我们可以这样操作,为了不影响原有项目结构的操作,又想接入 `FreeSQL` 的小伙伴们,通过上面的方式我们就可以使用 `FreeSQL` 无缝替换 `EF Core`。
296 1
如何使用 FreeSql 无缝接替 EF Core ?
|
存储 关系型数据库 数据库连接
EF框架(一)搭建过程
EF:Entity Framework的简写,实体框架,EF是ADO.net的一组支持开发面向数据的软件应用程序的技术,是微软的一个orm框架。介绍EF框架之前,先带大家了解一下ORM。
101 0
|
存储 开发框架 关系型数据库
【菜鸟看框架】——浅谈EF框架
【菜鸟看框架】——浅谈EF框架
128 0
【菜鸟看框架】——浅谈EF框架
|
关系型数据库 MySQL Windows
EF入门
EF入门
176 0
|
数据库
EF-ModelFirst实现过程
EF-ModelFirst实现过程
EF-ModelFirst实现过程