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对比起来,直接是建立一个空的实体模型,需要人为手工的在实体模型建立表,以及表关系
,再来链接已经建立好的数据库,去生成对应表。
直接右键新增实体,再去手动操作这个实体模型
再去右键选择根据实体模型生成数据库,链接现有数据库,就可以生成对应表