EF框架如何搭建

article/2025/11/8 1:42:53

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即可。


http://chatgpt.dhexx.cn/article/mhUVYnTZ.shtml

相关文章

EF框架-SQL语句 查询与修改

机房合作当中使用到了框架首先有很多的不同之处&#xff0c;大大方便的编程的时间。 首先在查询与修改这两个点出发。 查询 这是使用SQL语句进行的查询&#xff0c;查询到的是多条信息 public List<CancelCardModel> SelectCancelRecord(string iD){using (InternetBa…

EF框架简介

EF 全称是 EntityFramework 。 Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。   ORM框架&#xff08;Object Relational Mapping&#xff09; 翻译过来就是对象关系映射。 二、EF实体框架整体架构&#xff1a; 架构组件&…

NET EF框架

EF 框架是微软的.NET中ORM&#xff08;对象关系映射&#xff09;框架。 在没有EF框架之前&#xff0c;我们是直接与ADO.Net 进行交互来访问数据库&#xff0c;在SqlHelper 里面面通过设置connection ,command ,dataset,datareader等来与数据库交互&#xff0c;这样的话使得我们…

EF框架的优点是什么?

Entity Framework 应用程序有以下优点&#xff1a; 1、应用程序可以通过更加以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。 2、应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。 3、可以在不更改应用程序代码的情况下更改概念性模…

EF框架,认识一下!

What&#xff1f; EF的全称是Entity Framework&#xff0c;也叫实体框架。是微软以ADO.Net为基础开发出来的对象关系映射&#xff08;ORM&#xff09;解决方案&#xff0c;它解决了对象持久化问题&#xff0c;将程序员从编写麻烦的SQL语句当中解放出来。就是用操作对象的方式来…

EF框架学习分享一

一、什么是EF框架和ORM框架 &#xff1f; EF 全称是 EntityFramework 。Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。 ORM框架&#xff08;Object Relational Mapping&#xff09; 翻译过来就是对象关系映射。 二、EF实体框…

EF框架

EF框架&#xff0c;全称Entity Framework&#xff0c;即实体框架 一、EF简介&#xff1a; 它微软提供的一种ORM工具&#xff0c;支持面向数据的软件应用程序的技术。ORM让开发人员节省数据库访问的代码时间&#xff0c;将更多的时间放到业务逻辑层代码上。EF提供变更跟踪、唯…

微信小程序开发——上传图片

功能描述 1.拍摄或从手机相册中选择图片上传。 2.chooseImage(e) 中的index用于判断是新增图片还是替换图片。 3.delImage(e) 删除当前index索引下的数据。 wx.chooseMedia(Object object) 属性类型默认值必填说明countnumber9否最多可以选择的文件个数mediaTypeArray.<…

微信小程序图片下边加文字组合

图片下边加文字组合 简介 我们在开发程序的时候&#xff0c;很大情况会用到图片下边加文字的组合&#xff0c;因为好看又实用&#xff0c;所以在此记录一下给大家。 效果图 代码 wxml <view class"view_saoyisao"><image class"image_saoyisao&qu…

微信小程序剪切图片的功能

全平台&#xff08;Vue、React、微信小程序&#xff09;任意角度旋转 图片裁剪组件 | 微信开放社区 Simple-Crop/USAGE-wechat.md at master newbieYoung/Simple-Crop GitHub 首选下载下来wechat这个文件夹。放在小程序的components里面 把它放做一个组件来用啦.我把这个文件…

微信小程序 图片显示不出来的问题 100%管用

相信大多数微信小程序的开发者都会遇到的一个问题就是图片在模拟器上能显示 跑到真机上就不行&#xff0c;而且ios能显示安卓却显示不了的问题&#xff0c;这个问题也是困扰了我很久&#xff0c;最终想到了解决方案。 大多数情况下 都是后端返回一个url地址然后我们再拿基准…

微信小程序 背景图片设置

微信小程序设置背景图片时&#xff0c;有两种方法&#xff1a; 第一&#xff1a;直接在.wxss中中使用 “background-image:url()” 设置背景图片&#xff0c;但是这种加载背景图片的方法存在一个问题&#xff0c;就是所加载的图片只能是网络图片或base64图片&#xff0c;是不可…

微信小程序图片的垂直和水平居中,line-height无效,使用flew布局

微信小程序中&#xff0c;图片的完全居中显示&#xff0c;line-height并不能发挥效果&#xff0c; line-height可以时内部文字垂直居中显示&#xff0c;但是对于图片并未发挥效果 如图&#xff1a; 不过&#xff0c;水平居中显示&#xff0c;可以使用 text-align:center 解决方…

微信小程序 图片处理的几个样式

每天记录一点对自己来说的新内容。 1、外层包裹的view标签显示边框 示例&#xff1a; 样式&#xff1a; .viewborder {border: 3px solid #f1bb69;border-radius: 10rpx;padding: 10rpx;margin: 10px; } 2、图片边框阴影效果 示例&#xff1a; 样式&#xff1a; .icon {wi…

解决微信小程序图片上传点击无反应问题

解决微信小程序图片上传点击无反应问题 背景原因 背景 在微信小程序webView中使用mand-mobile或vant图片上传组件点击无反应&#xff0c;无法进行图片上传。 原因 微信小程序WebView中不支持input标签multiple属性&#xff0c;该属性是支持多文件上传属性&#xff0c;解决此…

微信小程序图片上传一直loading中,上传没反应

问题&#xff1a; 前端使用小程序自带的上传api,即wx.chooseImage和wx.uploadFile&#xff1b;直接上传到公司后端服务器里&#xff08;注不是上传到阿里云&#xff09;&#xff0c;问题是wx.chooseImage成功了&#xff0c;但是wx.uploadFile就是没有成功。 解决&#xff1a;…

uniapp开发微信小程序图片拉伸问题

今天开发微信小程序的时候&#xff0c;发现我的图片被拉伸了 如何解决图片拉伸的问题 在uniapp中的image中有一个mode属性&#xff0c;去设置就好了 注意 src 仅支持相对路径、绝对路径&#xff0c;支持 base64 码 mode的属性值有很多 我简单的给大家列出来几种 scaleToFi…

微信小程序图片上传uploadfile失败

场景一&#xff1a;开发者工具可上传&#xff0c;手机端不可以 问题定位&#xff1a;开发者工具返回http://&#xff0c;手机端返回wxfile:// 解决方式&#xff1a;由后端写上传图片的接口 场景二&#xff1a;调试模式可以上传&#xff0c;非调试模式不可以 问题定位&#xff…

解决微信小程序图片过大上传失败问题

方法一 将图片传入网络相册&#xff08;如QQ空间&#xff09;&#xff0c;右键获取图片url 缺点&#xff1a;有可能会降低图片清晰度 wxml : <image src"url" mode"aspectFit"></image> 方法二 使用微信云服务 点击微信云服务 点击存储&am…

微信小程序图片底部留白的问题

先说下&#xff0c;我前端经验不丰富。找了几个网上的例子&#xff0c;根据例子&#xff0c;实验得到解决方案如下。 1、将包裹的view增加display属性。值&#xff1a;display。 2、将image设置为垂直对齐模式。vertical-align:top&#xff0c;因为图片是要占满整个水平宽度的…