zoukankan      html  css  js  c++  java
  • LINQ以及LINQ to Object 和LINQ to Entities

    LINQ的全称是Language Integrated Query,中文译成“语言集成查询”,是一种查询技术。

    LINQ查询通过提供一种跨各种数据源和数据格式使用数据的一致模型,简化了查询过程。LINQ查询分为对内存对象的查询(LINQ to Object)、对SQL Server数据库的查询(LINQ to SQL)、以及对由ADO.NET实体框架创建的实体集进行查询(LINQ to Entities)等(LINQ to DataSet、LINQ to XML)。

      LINQ to Object:继承IEnumerable或IEnumerable<T>接口,无须使用LINQ提供程序或API。所有的操作都是在内存中进行的。 

      LINQ to SQL:继承IQueryable或IQueryable<T>接口,在LINQ to SQL中,把关系型数据库的数据模型映射到开发人员所用的编程语言表示的对象模型。仅支持sql server 数据库

      LINQ to Entities:继承IQueryable或IQueryable<T>接口,LINQ to Entities是Entity Framework的一部分并且取代LINQ to SQL作为在数据库上使用LINQ的标准机制。Entity Framework是行业领先的对象―关系映射(ORM)系统,可以和多种数据库一起使用,并支持各种灵活、复杂的数据模型。LINQ to Entities作为Entity Framework的一部分,它可以使用Entity Framework数据模型来执行LINQ查询。当应用程序运行时,LINQ to Entities会将对象模型中的语言集成查询转换为SQL。然后将它们发送到数据库进行执行。当数据库返回结果时,LINQ to Entities会将它们转换回开发人员所用的编程语言处理的对象。

      LINQ to Entities的技术原理:程序会把查询表达式先缓存到表达式树中,只有当真正获取数据的时候,才会由IQueryProvider解析表达式树,生成sql语句执行数据库查询操作  

    LINQ查询表达式分为两种:

    一.查询语法:

    eg:var query=from b in arr where (b=>b>0) select b

    二.查询方法:

    eg:var query=arr.where(b=>b>0).select(b=>b)

    *查询语法最终被编译成查询方法

  • 相关阅读:
    利用栈计算后缀式
    中缀式转换为后缀式(逆波兰式)方法
    JAVA字符串首字母大小写转换(截取转换+移动ASCII编码)
    VSCode格式化代码后,设置代码不自动换行
    oracle连接不上,提示监听服务不可用的解决办法
    壹周立波秀
    欣慰,举手之力,帮助一个老同学恢复了博士论文文档
    开发中的思维转换也是一种创新-思维创新
    电脑借液晶电视显示器出现雪花点的另类解决办法
    邮箱已满解决办法
  • 原文地址:https://www.cnblogs.com/Tony100/p/8980282.html
Copyright © 2011-2022 走看看