Entity Framework(一)基础

       之前重来没有接触过EF,这次出差,在一个项目中要写数据推送的接口,经过一个大神的指定,开始学习Entity Framework框架,推荐了一个博客学习http://www.cnblogs.com/lsxqw2004/p/4701979.html,我大部分都在这里学习的,我觉得很不错,讲的非常详细,对初学者特别有帮助。


一、什么是Entity Framework

    其实是微软提供的ORM(对象关系映射)工具,ORM节省了开发访问数据的代码时间,用更多的时间来处理业务逻辑。EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。

  EF有三个使用场景:

    1、从数据库生成对应的Class(实体对象)

    2、由实体类生成数据库表结构

    3、通过数据库可视化设计器设计数据库,同时生成实体类

  Entity Framework(一)基础


二、Entity Framework工作原理

Entity Framework(一)基础

        利用了抽象化数据结构的方式,将每一个数据库对象都转换成应用程序对象,而数据字段都变成了属性,关系则变成了结合属性,让ER模型完全变成数据库对象模型。这样就可以让程序员用最熟悉的语言去操作这些对象,事实上是在操作数据库的变化。在抽象化的结构之下,再结合三层框架让数据访问轻松的实现。

三、常见的两种定义数据模型

1、CodeFirst

   使用Code First 用代码来定义模型,然后生成数据库。
        CodeFirst是EntityFramework的一种技术手段,因为传统编程方式都是先建立数据库,然后根据数据库模型为应用程序建模,再进行开发;CodeFirst从字面上理解就是代码先行,先在程序中建立要映射到数据库的实体结构,然后EntityFramework可以根据实体结构生成所对应的数据库。

2、ModelFirst

  使用Model First 用方框和线条来定义模型,然后生成数据库。
      通过 Model First,可以使用实体框架设计器来设计新模型,然后从模型生成数据库架构。模型存储在一个 EDMX 文件(扩展名为 .edmx)中,可在实体框架设计器中查看和编辑。应用程序中用于交互的类是自动从 EDMX 文件生成的。