Entity Framework简介

零、什么是Entity Framework

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

1、领域建模方式

Entity Framework 有三种领域建模方式:Code FirstModel FirstData Firstapp

  1. Code First框架

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

    • 能够建立一个更富有逻辑、更灵活的应用程序;
    • 由于没有自动生成难以修改的代码,因此咱们能够对代码彻底控制;
    • 只须要定义映射,其他一切交给Entity Framework来处理;
    • 能够用修改代码的方式来修改数据库;
    • 可使用它来映射表结构到一个已存在的数据库。
  2. Model First对象

    Model First 容许咱们使用实体设计器在空模型中建立模型实体,及其关系和继承层次结构,而后建立数据库。优缺点以下:继承

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

    Data First 使咱们可以从现有数据库建立模型,减小了自动生成代码所需编写的代码量,也限制了咱们使用生成代码的结构。优缺点以下:it

    • 若是已有DBA设计的数据来单独开发或已存在数据库,将做为首选
    • 经过EDM向导为咱们建立实体、关系和继承层次结构,修改映射后还能够生成实体;
    • 要在实体中添加额外的功能,必须经过T4修改模板或者使用部分类;
    • 数据库的手动更改变为可能,若是要修改数据库表结构,只须要从数据库更新实体模型便可。
相关文章
相关标签/搜索