ORM:Object Relation Mapping 对象关系映射,用操作对象的方式操作数据库。
基础知识:linq和ado.net。
EF是一个适用于.NET开发的开源ORM框架。
它工作在业务实体(域类)和数据库之间,它保存实体属性中的数据到数据库,也可以从数据库中检索数据并自动将其转换为实体对象。
EF简单组成总结:
1.EDM(实体数据模型)
①概念模型(Conceptual Model):概念模型包含了模型类和它们之间的关系。 这将是独立于数据库表设计。
②映射(Mapping):映射由概念模型如何映射到存储模型的信息组成。
③存储模型(Storage Model):存储模型是数据库设计模型,包括表、视图、存储过程、以及它们之间的关系和钥匙。
2.LINQ To Entity (L2E):L2E是一种的查询实体对象的语言, 它返回在概念模型中定义的实体。
3.Entity SQL:Entity SQL是一个类似于L2E的查询语言。 然而,它比L2E更加复杂。
4.ObjectServices(对象服务):对象服务是访问数据库中的数据并返回数据的主要入口点。它负责数据实例化,把Entity Client Data Provider(下一层)的数据转换成实体对象。
5.Entity Client Data Provider:主要职责是将L2E或Entity Sql转换成数据库可以识别的Sql查询语句,它通过ADO.Net Data Provider向数据库发送或者索取数据。
6.ADO.Net Data Provider:使用标准的Ado.net与数据库通信。
创建顺序:
使用EF进行数据库开发时需要创建数据库和模型类,根据创建顺序:
1.DataBase First(数据库优先):先创建数据库表,然后自动生成EDM文件,EDM文件生成模型类。
2.Model First(模型优先):先创建EDM文件,EDM文件自动生成模型类和数据库。
3.Code First(代码优先):程序员自己写模型类,然后自动生成数据库,没有EDM。
推荐使用CodeFirst。