Entity Framework(EF):微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上。EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。开发人员使用Linq语言,对数据库操作如同操作Object对象一样省事。
EF有三种使用场景,1. 从数据库生成Class,2.由实体类生成数据库表结构,3. 通过数据库可视化设计器设计数据库,同时生成实体类。对应三种编程方式:
1.DataBase First:在设计器中逆向生成Model,并有Model自动生成所有的类。
2.Model First:在设计器中创建Model,并用Model生成数据库。所有的类由Model自动生成。
3.Code First(又分New DataBase,Existing DataBase):代码优先,同Model First方式,区别在于不再需要EDM文件,所有的映射通过“数据注释”和“fluent API”进行映射和配置,"Code First"并不代表一定就必须通过数据类来定义模型,事实上也可以通过现有数据库生成数据类。
ORM:是将数据存储从域对象自动映射到关系型数据库的工具。ORM主要包括3个部分:域对象、关系数据库对象、映射关系。ORM使类提供自动化CRUD,使开发人员从数据库API和SQL中解放出来。
参考:Entity Framework 5.0系列之EF概览 - KenshinCui - 博客园
EF和ORM: Entity Framework 基础 - 徐某人 - 博客园
EF和ORM:EF(一) -- EF简介_-_^汪洸*的博客-CSDN博客
Code First:EF三种编程方式详细图文教程(C#+EF)之Code First_主宰-CSDN博客_c# ef
DataBase First: EF三种编程方式图文详解 - 守望阳光01 - 博客园