一、简介

​ADO.NET​​ Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (​​O/R Mapping​​) 解决方案。该框架曾经为.NET Framework的一部分,但version 6之后从.NET Framework分离出来。

常见的数据分层

VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。

DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。

DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。

PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。

二、常用命令

EntityFramework所接触的主要是持久层

执行前要先确保工程编译没有错误,整个工程即使是没引用的类库编译有错误都不行

初始化,用于构建创建表等语句

Add-Migration init

EntityFramework可使用codefirst脚本进行升级,此代码将数据库脚本迁移到数据库中

Update-database

数据库回退

Update-database 要会到的脚本名称

如果还是有错误,用管理员权限运行vs,不行就把杀毒的退出

数据库脚本回退

Remove-Migration

三、使用例子

新建一张表

Add-Migration AddTable

EntityFramework基本使用_.net

自动在Migrations下添加的脚本

EntityFramework基本使用_.net_02

进行迁移

Update-database AddTable

数据库回退

Update-database AddTable的上一个脚本名称

 EntityFramework基本使用_.net_03

删除AddTable脚本

Remove-Migration 

EntityFramework基本使用_数据库_04