• EF框架的三种工作方式


    EF框架step by step(1)—Database-First 

    EF框架step by step(2)—Model-First 

    EF框架step by step(3)—Code-First 

    通过项目,我们了解到EF框架有三种数据持久化的方式,也就是标题中我所提到的三种。那么这些方式之间又有什么联系和区别呢? 

        先分别介绍一下这三种方法的联系:

        1.Database First是基于已存在的数据库,利用某些工具(如VS提供的EF设计器)创建实体类,数据库对象与实体类的匹配关系等,你也可以手动修改这些自动生成的代码及匹配文件。也就是从一个数据库开始,然后生成实体框架和相应代码。
        2.Model First 是先利用某些工具(如VS的EF设计器)设计出可视化的实体数据模型及他们之间的关系,然后再根据这些实体、关系去生成数据库对象及相关代码文件。
        3.Code First 这种方式需要先写一些代码,如实体对象,数据关系等,然后根据已有的代码描述,自动创建数据对象。但其实这种方法与Model First是非常类似的。我们自己写的代码,其实就是用代码表示实体模型,而Model First是用可视化的方式描述了实体模型。

        下面分析这三种方式的优缺点:

            Database-First模式明显性能会差点,但是它很适合初学者,或者是比较急的小型项目。还有一点,我们在做项目时可能不容易体会到它的好处,但如果做数据库结构比较成熟稳定的产品时,我们可以很轻松的使用数据库生成实体模型,从而实现快速开发。

            Model-First模式优点是开发人员能够在模型设计完成后,可以利用VS等工具快速生成数据库脚本。缺点是设计模型时完全了解数据库的结构,在模型中手动添加表关系,并且生成的脚本有点不简洁。  

            Code-First模式优点是性能比较好,且代码较少冗余。不过它的缺点也有很多,由于都是代码编写的,比如更新数据库。

        这三种方式各有利弊,使用过程中我们要按实际需求来选择。这些工具的出现和使用,大大提高了开发人员的开发速度,使得数据库、模型等出现了复用、扩展的可能,在应对变化方面也做了足够的工作。这些工具所体现的服务思想更提醒我们要全方位去考虑问题,在产品中做好应对变化的措施。

  • 相关阅读:
    csuoj 1355: 地雷清除计划
    Task 6.4 冲刺Two之站立会议3
    Task 10 统计从1到某个整数之间出现的1的次数
    Task 6.3 冲刺Two之站立会议2
    Task 9 从用户界面和体验分析“360极速浏览器”
    Task 6.3 冲刺Two之站立会议1
    《程序员开发心理学》阅读笔记一
    Task 6.2冲刺会议十 /2015-5-23
    Task 6.2冲刺会议九 /2015-5-22
    Task 6.2冲刺会议八 /2015-5-21
  • 原文地址:https://www.cnblogs.com/eric-qin/p/5216999.html
Copyright © 2020-2023  润新知