EF入门


EF 框架是微软的.NET中ORM(对象关系映射)框架。

在没有EF框架之前,我们是直接与ADO.Net 进行交互来访问数据库,在SqlHelper 里面面通过设置connection ,command ,dataset,datareader等来与数据库交互,这样的话使得我们开发人员把很多精力放在了管理数据访问的ADO.NET 代码上,但是在EF 框架中把这块代码进行了封装,开发人员直接通过实体类来完成对数据库的操作。 
在EF框架中把数据库中的关系表对应到了程序中的实体类,把数据表中的字段对应成了实体类中的属性,这就是对象关系映射,那为甚要用ORM框架呢?EF为我们现有的数据库创建数据访问类,以便我们可以直接使用这些类与数据库交互,而不是直接与ADO.Net交互。

  • DB First
  • CodeFirst from DB
  • CodeFirst
  • ModelFirst

三种模式。

demo

  • DB First 传统的表驱动方式创建EDM,然后通过EDM生成模型和数据层代码。除生成实体模型和自跟踪实现模型,还支持生成轻型DbContext。

*安装ef6 动态链接库

 2,链接现有数据库创建模型

 

 选择数据库以及表,本次链接选择的是本地

 

选择对应的表

 

 生成完成对应的实体模型。

*增,删,改,查

--增

 对应sql server 捕获的sql 

 --查

 

 

 *改

 

 *删

 

  • CodeFirst from DB

DB First 可以右击选择更新数据库实体类型,保持与数据库一致,CodeFirst from DB

不可以。但CodeFirst from DB比DBFirst简洁。

  • CodeFirst 

CodeFirst 比 CodeFirst from DB更简洁,需要手动的添加,没有对应表的实体类以及相关映射。先建立实体以及映射,后执行,自动创建表(先写代码,自动建立数据库)。

--先建立表字段对应的实体类,以及更改配置文件的数据库连接

 将上图配置更改对应数据库连接。

 代码里面调用一下,就能在数据库里生成表。

 

  • ModelFirst

跟DBFirst对比起来,直接是建立一个空的实体模型,需要人为手工的在实体模型建立表,以及表关系

,再来链接已经建立好的数据库,去生成对应表。

 直接右键新增实体,再去手动操作这个实体模型

再去右键选择根据实体模型生成数据库,链接现有数据库,就可以生成对应表

原文地址:https://www.cnblogs.com/anyihen/p/12416422.html