zoukankan      html  css  js  c++  java
  • Entity Framework是什么东西?

    ADO.NET Entity Framework

    ADO.NET Entity Framework 是微软以ADO.NET 为基础所发展出来的对象关系对应(O/R Mapping)解决方案,早期被称为ObjectSpace,现已经包含在 Visual Studio 2008 Service Pack 1以及.NET Framework 3.5 Service Pack 1 中发表。

    简介

    ADO.NET Entity Framework 以Entity Data Model(EDM)为主,将数据逻辑层切分为三块,分别为Conceptual Schema,Mapping Schema与Storage Schema三层,其上还有Entity Client,Object Context以及LINQ可以使用。

    背景

    长久以来,程序设计师和数据库总是保持着一种微妙的关系,在商用程序中,数据库一定是不可或缺的元件,这让程序设计师一定要为了连接与访问数据而去学习SQL指令,因此在信息业中有很多人都在研究如何将程序设计模型和数据库集成在一起,对象关系对应(Object-Relational Mapping)的技术就是由此而生,像Hibernate或NHibernate都是这个技术下的产物,而微软虽然有了ADO.NET这个数据访问的利器,但却没有像NHIbernate这样的对象对应工具,因此微软在.NET Framework 2.0发展时期,就提出了一个ObjectSpace的概念,ObjectSpace可以让应用程序可以使用完全对象化的方法连接与访问数据库,其技术概念与NHibernate相当类似,然而ObjectSpace工程相当大,在.NET Framework 2.0完成时仍无法全部完成,因此微软将ObjectSpace纳入下一版本的.NET Framework中,并且再加上一个设计的工具(Designer),构成了现在的ADO.NET Entity Framework。

    Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象(entity),而数据字段都转换为属性(property),关系则转换为结合属性(association),让数据库的E/R模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。而在抽象画的结构之下,则是高度集成与对应结构的概念层、对应层和储存层,以及支持Entity Framework 的数据提供者(provider),让数据访问的工作得以顺利与完整的进行。

      (1)概念层:负责向上的对象与属性显露与访问。

      (2)对应层:将上方的概念层和底下的存储层的数据结构对应在一起。

      (3)储存层:依不同数据库与数据结构,而显露出实体的数据结构体,和Provider一起,负责实际对数据库的访问和SQL的产生。

     

  • 相关阅读:
    HDU 2072(字符串的流式操作,学习了)
    HDU 1007 Quoit Design(经典最近点对问题)
    HDU1005 Number Sequence(找规律,周期是变化的)
    HDU 1004 Let the Balloon Rise(map的使用)
    ZCMU 2177 Lucky Numbers (easy)
    2018 HNUCM ACM集训队选拔第一场
    HDU 1162Eddy's picture(MST问题)
    HDU 1142 A Walk Through the Forest(dijkstra+记忆化DFS)
    HDU 1198 Farm Irrigation(并查集,自己构造连通条件或者dfs)
    nyoi 42(欧拉回路)
  • 原文地址:https://www.cnblogs.com/dylanblog/p/3553915.html
Copyright © 2011-2022 走看看