1.2、EF实际应用
我希望是我理解不够,而不是踩在了一坨狗屎上!
-------------------------------------------------
基础介绍:
在EF中的实体数据模型(EDM)由三种模型和具有相应文件扩展名的映射文件进行定义:
1、概念架构定义语言文件(.csdl)——定义概念模型
2、存储架构定义语言文件(.ssdl)——定义存储模型(逻辑模型)
3、映射规范语言文件(.msl)——定义存储模型与概念模型之间的映射。
实体框架使用这些基于XML的模型和映射文件将对概念模型中的实体和关系的增删改查操作转换为数据源中的等效操作。EDM甚至支持概念模型中的实体映射到数据源中的存储过程。它提供以下方式用于查询EDM并返回对象:
1、linq to entity ——提供语言集成查询支持用于查询在概念模型中定义的实体类型。
2、Entity sql ——与存储无关的SQL方言,直接使用概念模型中的实体并支持诸如继承和关系等EDM功能。
3、查询生成器方法——可以使用linq风格的查询方法构造Entity sql查询。
用于访问数据的实体框架体系结构:
--------------------------------------------------------------------------
基础类介绍:
ObjectContext,ObjectQuery,ObjectStateEntry,ObjectStateManage,位于system.data.Entity.dll的system.data.objects命名空间下。
1、ObjectContext:
- 封装了.net Framework 和数据库之间的连接。此类用作增删改查操作。
- 这个类为主类,用于与作为对象(为EDM中定义的实体类型的实例)的数据进行交互。
- 封装的内容如下:
- 1>.到数据库的连接,以EntityConnection对象的形式封装。
- 2>.描述该模型的元数据,以MetadataWorkspace对象的形式封装。
- 3>.用于管理缓存中持久保存的对象的ObjectStateManager对象。
objectContext类的成员方法说明:
- AcceptAllChanges()
接受所有对该实体对象的更改