Linq的概念解析

简介: 在http://www.cnblogs.com/2018/category/262512.html 这些文章中提到 WCF Data Service和WCF RIA Service的使用,在实际的使用过程中会经常的使用linq,为此把这些概念解析一下。

http://www.cnblogs.com/2018/category/262512.html 这些文章中提到

WCF Data Service和WCF RIA Service的使用,在实际的使用过程中会经常的使用linq,为此把这些概念解析一下。

序列

IEnumerable<T> ,这个类型是关键,LINQ的标准查询操作符都需要使用该类型对象作为参数

查询操作符

是指在LINQ查询上下文事业能够的、一系列扩展方法的集合,是实现linq的最重要的一类元素

预定义的标准查询操作符:

过滤

OfType, Where

投影

Select, SelectMany

分区

Skip, SkipWhile, Take, TakeWhile

连接

GroupJoin, Join

串联

Concat

排序

OrderBy, OrderByDescending, Reverse, ThenBy, ThenByDescending

分组

GroupBy, ToLookup

集合

Distinct, Except, Intersect, Union

转换

AsEnumerable, AsQueryable, Cast, ToArray, ToDictionary, ToList

等同

SequenceEqual

元素

ElementAt, ElementAtOrDefault, First, FirstOrDefault, Last,

生成

LastOrDefault, Single, SingleOrDefault

数量

DefaultIfEmpty, Empty, Range, Repeat

聚集

All, Any, Contains

查询表达式

查询表达式提供了一种继承于语言中的、用于编写查询语句的语法。编译器自动将其转换为对标准查询操作符的调用。

查询本操作符和查询表达是对应关系

查询操作符

查询表达式(C#)

All

Any

Average

Cast

使用显式类型的范围变量,如 from int i in numbers

Count

Distinct

GroupBy

group … by
group … by … into …

GroupJoin

join … in … on …
equals … into…

Join

join … in … on …
equals …

LongCount

Max

Min

OrderBy

orderby

OrderByDescending

orderby … descending

Select

select

SelectMany

多个Frrom子句

Skip

SkipWhile

Sum

Take

TakeWhile

ThenBy

orderby …, …

ThenByDescending

orderby …, …descending

Where

where

两种写法相同效果的例子

查询操作符

查询表达式

SampleData.Books

.Where(book => book.Title == "Funny Stories")

.OrderBy(book => book.Title)

.Select(book => new {book.Title, book.Price});

from book in SampleData.Books

where book.Title == "Funny Stories"

orderby book.Title

select new {book.Title, book.Price};

根据情况和语言中的对应限定关系选择使用。

相关文章
|
8月前
|
存储 JSON 数据格式
ElasticSearch基础概念解析
以上就是ElasticSearch的基础概念。理解了这些概念,你就可以更好地使用ElasticSearch,像使用超级放大镜一样,在数据海洋中找到你需要的珍珠。
253 71
|
10月前
|
XML Java 开发者
Spring底层架构核心概念解析
理解 Spring 框架的核心概念对于开发和维护 Spring 应用程序至关重要。IOC 和 AOP 是其两个关键特性,通过依赖注入和面向切面编程实现了高效的模块化和松耦合设计。Spring 容器管理着 Beans 的生命周期和配置,而核心模块为各种应用场景提供了丰富的功能支持。通过全面掌握这些核心概念,开发者可以更加高效地利用 Spring 框架开发企业级应用。
318 18
|
11月前
|
调度 开发者
核心概念解析:进程与线程的对比分析
在操作系统和计算机编程领域,进程和线程是两个基本而核心的概念。它们是程序执行和资源管理的基础,但它们之间存在显著的差异。本文将深入探讨进程与线程的区别,并分析它们在现代软件开发中的应用和重要性。
438 4
|
机器学习/深度学习 自然语言处理 JavaScript
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)是量化概率分布差异的关键概念。本文深入探讨了KL散度及其相关概念,包括Jensen-Shannon散度和Renyi散度。KL散度用于衡量两个概率分布之间的差异,而Jensen-Shannon散度则提供了一种对称的度量方式。Renyi散度通过可调参数α,提供了更灵活的散度度量。这些概念不仅在理论研究中至关重要,在实际应用中也广泛用于数据压缩、变分自编码器、强化学习等领域。通过分析电子商务中的数据漂移实例,展示了这些散度指标在捕捉数据分布变化方面的独特优势,为企业提供了数据驱动的决策支持。
1476 2
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
|
算法 Java 数据库连接
Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性
本文详细介绍了Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性。连接池通过复用数据库连接,显著提升了应用的性能和稳定性。文章还展示了使用HikariCP连接池的示例代码,帮助读者更好地理解和应用这一技术。
222 1
|
消息中间件 存储 负载均衡
Apache Kafka核心概念解析:生产者、消费者与Broker
【10月更文挑战第24天】在数字化转型的大潮中,数据的实时处理能力成为了企业竞争力的重要组成部分。Apache Kafka 作为一款高性能的消息队列系统,在这一领域占据了重要地位。通过使用 Kafka,企业可以构建出高效的数据管道,实现数据的快速传输和处理。今天,我将从个人的角度出发,深入解析 Kafka 的三大核心组件——生产者、消费者与 Broker,希望能够帮助大家建立起对 Kafka 内部机制的基本理解。
425 2
|
机器学习/深度学习 人工智能 自然语言处理
Transformer图解以及相关的概念解析
前言 transformer是目前NLP甚至是整个深度学习领域不能不提到的框架,同时大部分LLM也是使用其进行训练生成模型,所以transformer几乎是目前每一个机器人开发者或者人工智能开发者不能越过的一个框架。接下来本文将从顶层往下去一步步掀开transformer的面纱。 transformer概述 Transformer模型来自论文Attention Is All You Need。 在论文中最初是为了提高机器翻译的效率,它使用了Self-Attention机制和Position Encoding去替代RNN。后来大家发现Self-Attention的效果很好,并且在其它的地
488 9
|
存储 NoSQL MongoDB
MongoDB 概念解析
10月更文挑战第12天
279 0
MongoDB 概念解析
|
前端开发 JavaScript Shell
深入解析前端构建利器:webpack核心概念与基本功能全览
深入解析前端构建利器:webpack核心概念与基本功能全览—
263 1
|
供应链 网络协议 数据安全/隐私保护

推荐镜像

更多
  • DNS