Entity Framework简介

简介: Entity Framework简介

零、什么是Entity  Framework

Entity Framework (简称EF),是.NET的 Object/Relational Mapping 实体框架(简称ORM),可以在 SQL Server、MySQL、Oracle、等数据库上使用。可以将数据作为业务对象和实体进行操作,使用LINQ进行查询,使用C#进行操作和检索。


一、领域建模方式

Entity Framework 有三种领域建模方式:Code First、Model FirstData First


1.Code First


Code First 可以通过类来描述模型,然后通过类来创建数据库,这种类简称为POCO(Plain Old CLR Object)。POCO中的C是指 .NET Framework公共语言运行时(Common Language Runtime,CLR)中的一个简单对象。POCO对域对象使用尽可能简单的类,可以包含属性、方法等,但是方法不能实现持久化逻辑,也就是说POCO也可以包含业务逻辑。Code First 优点如下:


  1. 可以创建一个更富有逻辑、更灵活的应用程序;
  2. 因为没有自动生成难以修改的代码,所以我们可以对代码完全控制;
  3. 只需要定义映射,其余一切交给Entity Framework来处理;
  4. 可以用修改代码的方式来修改数据库;
  5. 可以使用它来映射表结构到一个已存在的数据库。


2.Model First


Model First 允许我们使用实体设计器在空模型中创建模型实体,及其关系和继承层次结构,然后创建数据库。优缺点如下:


  1. 无法控制实体和数据库,因为自动生成的代码难以修改,但是对于小型且简单的项目,它仍行之有效;
  2. 在实体中添加额外的功能,不得不修改T4模板或者使用部分类来完成;
  3. 数据库模型的更改不是最佳选择,因为是由模型定义了数据库。


3.Data First


Data First 使我们能够从现有数据库创建模型,减少了自动生成代码所需编写的代码量,也限制了我们使用生成代码的结构。优缺点如下:


  1. 如果已有DBA设计的数据来单独开发或已存在数据库,将作为首选
  2. 通过EDM向导为我们创建实体、关系和继承层次结构,修改映射后还可以生成实体;
  3. 要在实体中添加额外的功能,必须通过T4修改模板或者使用部分类;
  4. 数据库的手动更改变为可能,如果要修改数据库表结构,只需要从数据库更新实体模型即可。


目录
相关文章
|
XML 存储 数据库连接
Entity Framework学习笔记——edmx文件
上文简单介绍了一下Entity FrameWork,这里说一下EF的核心——edmx文件。 在VisualStudio中建立edmx文件(此例环境为VisualStudio2012)
Entity Framework学习笔记——edmx文件
|
存储 开发框架 .NET
Entity Framework基础01
Entity Framework基础01
197 0
Entity Framework基础01
|
SQL 数据库 C++
Entity Framework初体验
Entity Framework初体验
181 0
Entity Framework初体验
|
存储 开发框架 数据可视化
Entity Framework Core 简介
Entity Framework Core 简介
203 0
|
数据库
Entity Framework 小知识(三)
Entity Framework 小知识(三)
148 0
|
索引
Entity Framework 小知识(四)
Entity Framework 小知识(四)
136 0
|
数据库 数据库管理
Entity Framework 小知识(一)
Entity Framework 小知识(一)
128 0
|
SQL .NET 数据库
Entity Framework Core 2.0 入门
该文章比较基础, 不多说废话了, 直接切入正题. 该文分以下几点: 创建Model和数据库 使用Model与数据库交互 查询和保存关联数据 EF Core支持情况 EF Core的数据库Providers: 此外还即将支持CosmosDB和 Oracle.
1670 0
|
SQL .NET 数据库
Entity Framework Core 入门(2)
安装 EF Core 将 EF Core 添加到不同平台和常用 IDE 中的应用程序的所需步骤汇总。 分步入门教程 无需具备 Entity Framework Core 或任何特定 IDE 的原有知识,即可学习这些入门教程。
1141 0