文章目录

  • 什么是EF
  • EF的作用
  • EF 分类
  • Model First(模型优先)
  • Code First(代码优先)
  • Database First(数据优先)
  • 如何创建EF
  • 安装
  • 创建
  • 注意事项



什么是EF

实体框架(Entity Framework)是微软以ADO.NET为基础开发出来的对象关系映射(ORM-Object Relation Mapping)解决方案。没有EF框架之前一般通过设置Connection,Command,Dataset,DataReader等进行与数据库之间的交互。在EF框架里则将该部分进行了封装。

EF的作用

因功能需求修改实体而引起数据库也需要修改时,我们就可以使用EF框架,在EF框架的支持下,无论需要修改数据库还是实体,利用实体与数据库存在映射的特点,可以直接修改相应的实体或者数据库。

EF 分类

Model First(模型优先)

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

Code First(代码优先)

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

Database First(数据优先)

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

如何创建EF

安装

 首先需要在菜单栏工具-NuGet包管理器-管理解决方案的NuGet程序包…—打开后找到EntityFramework—选择安装即可



ef架构地址 ef框架_ef架构地址

创建

创建一个空白的项目

ef架构地址 ef框架_ef架构地址_02

右击刚才创建的项目,选择添加——新建项目
弹出新建项目,选择已经安装——数据——ADO.NET实体数据模型

ef架构地址 ef框架_ef架构地址_03

选择【来自数据库的EF设计器】

ef架构地址 ef框架_主键_04

弹出的实体数据模型向导中,点击新建连接,弹出连接属性
数据源默认就好了,服务器名称就填写你需要连接的服务器名称,填写【.】默认是连接本机。后面的身份验证,看自己的情况来定就好。选择的数据库名称就是你需要连接的数据库。
测试连接无误之确定就好了。

ef架构地址 ef框架_框架_05

ef架构地址 ef框架_ef架构地址_06

ef架构地址 ef框架_数据库_07

这里选择的时候需要显示的一些表和存储过程。

ef架构地址 ef框架_框架_08

创建之后的效果:

ef架构地址 ef框架_主键_09

ef架构地址 ef框架_框架_10

注意事项

在创建数据表的时候,一定要设置主键,使用EF框架对数据表进行操作的时候,它会识别主键的存在,有主键的存在才会进行操作,否则会报错。

在操作的时候也是需要对主键进行修改的,否则也会报错,比如你的主键设置的是CardNo,但是你在操作数据的时候没有用到CardNo这个字段,那么操作就会报错。

解决方案:设置一个ID自增长就可以了。或者是代码中直接设置ID为固定值就可以了。