EntityFramework——Map之初露锋芒(一)

来源:互联网 发布:网络直播 评论性文章 编辑:程序博客网 时间:2024/05/10 18:54

一、什么是ORM

    1、含义

       对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。

       简单的说:ORM相当于中继数据,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。

        对象关系映射(ORM)提供了概念性的、易于理解的模型化数据的方法。

    2、原则 

       简单:以最基本的形式建模数据。 

       传达性:数据库结构被任何人都能理解的语言文档化。 

       精确性:基于数据模型创建正确标准化了的结构。 

       典型地,建模者通过收集来自那些熟悉应用程序但不熟练的数据建模者的人的信息开发信息模型。建模者必须能够用非技术企业专家可以理解的术语在概念层次上与数据结构进行通讯。建模者也必须能以简单的单元分析信息,对样本数据进行处理。ORM专门被设计为改进这种联系。

    3、映射模式

     (1)数据类型映射模式
     (2)类映射模型
     (3关联映射模式
     (4)引用映射模式

二、什么是EF

    1、含义

       Entity Framework 是 ADO.NET 中的一组支持开发面向数据的软件应用程序的技术。是微软的一个ORM框架。

       Entity Framework使用这些模型和映射文件将对概念模型中的实体和关系的创建、读取、更新和删除操作转换为数据源中的等效操作。

       Entity Framework甚至支持将概念模型中的实体映射到数据源中的存储过程

    2、内容

     (1)概念架构定义语言文件 (.csdl)

        概念层结构定义了对象模型 (Object Model),让上层的应用程序码可以如面向对象的方式般访问数据,概念层结构是由 CSDL (Conceptual Schema Definition Language) 所撰写

     (2)存储架构定义语言文件 (.ssdl) -- 定义存储模型(又称逻辑模型)

        储存层结构是负责与数据库管理系统 (DBMS) 中的数据表做实体对应 (Physical Mapping),让数据可以输入正确的数据来源中,或者由正确的数据来源取出。它是由 SSDL (Storage Schema Definition Language) 所撰写

     (3)映射规范语言文件 (.msl) -- 定义存储模型与概念模型之间的映射。

         对应层结构负责将上层的概念层结构以及下层的储存体结构中的成员结合在一起,以确认数据的来源与流向。对应层结构是由 MSL (Mapping Specification Language) 所撰写

   3、查询方式

     (1)LINQ to Entities -- 提供语言集成查询 (LINQ) 支持用于查询在概念模型中定
义的实体类型。 
     (2)Entity SQL -- 与存储无关的 SQL 方言,直接使用概念模型中的实体并支持诸
如继承和关系等 EDM 功能。 
     (3)查询生成器方法 --可以使用 LINQ 风格的查询方法构造 Entity SQL 查询。

   4、查询的架构图

                                       

   5、优点

     (1)应用程序可以通过更改以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。 


     (2)应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。 


     (3)可以在不更改应用程序代码的情况下更改概念性模型与特定于存储的架构之间的映射。 


     (4)开发人员可以使用可映射到各种存储架构(可能在不同的数据库管理系统中实现)的一致的应用程序对象模型。 


     (5)多个概念性模型可以映射到同一个存储架构。 


     (6)语言集成查询支持可为查询提供针对概念性模型的编译时语法验证


       小编寄语:在这里只是粗略的介绍了一下EF的基本知识,至于它如何创建这里就不在细说(网上的方法很全)。总的来说,EF作为一种ORM框架,给我们带来了很大的方便,使我们不仅可以解决的业务问题的实体、关系和逻辑构建模型,还可以处理用于存储和检索数据的数据引擎。可以让数据可能跨多个各有不同协议的存储系统;也可以使单个存储系统的应用程序在存储系统的要求与编写高效,并且从容易维护的应用程序代码之间取得平衡。之后我们还会继续学习关于ORM的应用,希望对大家有所帮助。

     



2 0
原创粉丝点击