代码改变世界

EntityFramework 实践 Overview

2017-03-20 17:35  蓝之风  阅读(566)  评论(0编辑  收藏  举报

使用EntityFramework,是微软出的一个轻量级ORM框架,对于做一些小型的项目非常方便,几乎是零配置,以及对linq的支持,所以非常的易于使用,虽然已经使用EntityFramework很久了但是一直没有时间对EntityFramework 系统的进行了总结归纳和学习,趁着现在有点时间我将对EntityFramework的一些知识做一次整理和总结。EntityFramework 有三种模式,分别是:

1. Database First (数据库先行)。
2. Model First (模型先行)。

3. Code First(代码先行)也叫 Code only。

那么这三种模式有什么不同呢?

Database First 是基于已存在的数据库,利用某些工具(如Vs提供的EF设计器)创建实体类,数据库对象与实体类的匹配关系等,你也可以手动修改这些自动生成的代码及匹配文件。

Model First 这种方式是先利用某些工具(如VS的EF设计器)设计出实体数据模型及他们之间的关系,然后再根据这些实体、关系去生成数据库对象及相关代码文件。

Code First 这种方式需要先写一些代码,如实体对象,数据关系等,然后根据已有的代码描述,自动创建数据。但其实这种方法与Model First是非常类似的。我们自己写的代码,其实就是用代码表示实体模型,而Model First是用可视化的方式描述了实体模型。