zoukankan      html  css  js  c++  java
  • Entity Framework

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

          ADO.NET Entity Framework以Entity Data Model(EDM)为主,将数据逻辑层切分为三块,分别为Conceptual Schema,Mapping Schema与Storage

    Schema三层,其上还有Entity Client,Object Context 以及LINQ可以使用。

          概念层:负责向上的对象与属性的显露与访问,概念层结构定义了对象模型,让上层的应用程序代码可以如面向对象的方式般访问数据。

          对应层:将上方的概念层和底下的存储层的数据结构对应在一起,以确认数据的来源与流向。

          存储层:依不同的数据库与数据结构,而显露出实体的数据结构体,和Provider一起,负责实际对数据库的访问和SQL的产生。:负责与数据库管理系统中的数据表做实体对应(Physical Mapping),让数据可以输入正确的数据来源中

                 LINQ的语义:(Language-Integrated Query,语言集成查询,是一组用于C#和Visual Basic语言的扩展。它允许编写C#或Visual Basic代码以查询数据库相同的方式操作内存数据。)

      from 临时变量 in 集合对象或数据库对象

          where 条件表达式

          [order by 条件]

          [group by 条件]

          select 临时变量中被查询的值

          注意:LINQ语法必须以select或者group by 结束。LINQ的查询返回值的类型是临时变量的类型,可能是一个对象也可能是一个集合。LINQ的查询一般跟var关键字一起使用。

         在LINQ中,数据源和查询结构实际上都是IEnumerable<T>或IQueryable<T>类型对象,所以可以通过使用普通对象(调用方法、使用属性等)对数据源进行查询或使用查询结构数据。

         IEnumerable<T>接口:IEnumerable<T>泛型接口支持在指定的数据集合上进行迭代操作。它定义了一组扩展方法,用来对数据集合中的元素进行遍历、过滤、排序、搜索等操作。在LINQ中,数据源实际上市实现了接口IEnumerable<T>的类,通过select子句返回的查询结果页是一个实现了IEnumerable<T>的类。

         IEnumerable<T>提供的方法包括数值运算(Sum、Min、Max、Average)、元素数量(Count、LongCount)、取值(First、Last、ElementAt等)、提取子集(Skip、SkipWhile、Take、TakeWhile、)集合操作(Reverse、Concat、Distinct、Except、Intersect、Union、SequenceEqual等)。这些方法提供了LINQ所需要的所有操作。

  • 相关阅读:
    背水一战 Windows 10 (61)
    背水一战 Windows 10 (60)
    背水一战 Windows 10 (59)
    背水一战 Windows 10 (58)
    背水一战 Windows 10 (57)
    背水一战 Windows 10 (56)
    背水一战 Windows 10 (55)
    背水一战 Windows 10 (54)
    背水一战 Windows 10 (53)
    背水一战 Windows 10 (52)
  • 原文地址:https://www.cnblogs.com/xuezhi/p/2833500.html
Copyright © 2011-2022 走看看