1)概念
Entity Framework:
全称ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。百科解释:ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将数据逻辑层切分为三块,分别为 Conceptual Schema, Mapping Schema 与 Storage Schema 三层,其上还有 Entity Client,Object Context 以及 LINQ 可以使用。其中
(1) 概念层:负责向上的对象与属性显露与访问。(用xml打开.edmx文件,对应csdl)
(2) 对应层:将上方的概念层和底下的储存层的数据结构对应在一起。(mapping)
(3) 储存层:依不同数据库与数据结构,而显露出实体的数据结构体,和 Provider 一起,负责实际对数据库的访问和 SQL 的产生(ssdl).
注:但此处主要为记录应用和概念,暂且不做详细(有待后续补充),可百科Entity Framework,颇为详细。
此处应理解为,微软为了实现(ORM-数据库对象持久)的一个框架结构,其底层封装映射为实体化,其上层借助(DBcontex/DBset)将对数据库的操作转移为对实体的操作。
架构图如下:
ORM:
ORM(Object/Relational Mapping) 对象关系映射,主要是把数据库中的关系数据映射称为程序中的对象(如Hibernate,EF)。
Entity Framework 3种开发模式
1.DataBase First
指以数据库设计为基础,并根据数据库自动生成实体数据模型,从而驱动整个开发流程。使用简单,容易入手,适合初学者。
2.Model First
从建立实体数据模型入手,并依据模型生成数据库,从而驱动整个开发流程。是业界流行的面向领域的变成模式。优点在于,可以用与设计建模相同的思维进行编写,更符合面向对象的思想。model first 和database first是互逆的,但最终都是输出数据库和实体数据模型。
3.Code Only
指的是程序员完全通过手动编码,就可以使用Entity Famework 技术来实现数据访问。优点在于,支持P