Linq善解人意之通过MSDN对14个“查询关键字“逐个解剖

linq中存在的 14个关键字

网址: https://msdn.microsoft.com/zh-cn/library/bb310804.aspx

from: 迭代变量

where:对数据源进行逻辑筛选

select:对数据进行塑形。

group: 分组

into: 分组链接

orderby[ascending/descending]: 排序

join:表关联

let:就是局部变量

string[] strings =
{
"A penny saved is a penny earned.",
"The early bird catches the worm.",
"The pen is mightier than the sword."
};

// Split the sentence into an array of words
// and select those whose first letter is a vowel.
var earlyBirdQuery =
from sentence in strings
let words = sentence.Split(‘ ‘)
from word in words
let w = word.ToLower()
where w[0] == ‘a‘ || w[0] == ‘e‘
|| w[0] == ‘i‘ || w[0] == ‘o‘
|| w[0] == ‘u‘
select word;

foreach (var sentence in strings)
{
var words = sentence.Split(‘ ‘);

foreach (var word in words)
{
var w = word.ToLower();

if (w[0] == ‘a‘ || w[0] == ‘e‘|| w[0] == ‘i‘ || w[0] == ‘o‘|| w[0] == ‘u‘)
{
// List.Add(word);
}
}
}

这些查询表达式 源自于 sql。。。这样方便我们去快速的写出代码,而且也不失可读性。

好一点的文章:

linq可以嵌套,太复杂也不容易看得懂

时间: 2024-08-01 16:50:03

Linq善解人意之通过MSDN对14个“查询关键字“逐个解剖的相关文章

Linq to Sql : 动态构造Expression进行动态查询

原文:Linq to Sql : 动态构造Expression进行动态查询 前一篇在介绍动态查询时,提到一个问题:如何根据用户的输入条件,动态构造这个过滤条件表达式呢?Expression<Func<ProductExt, bool>> predicate t => t.ProductName.Contains("che") && t.UnitPrice >= 22; 理想情况下,我希望可以像下面这样来构造predicate,这样,我

linq之InnerJoin和LeftJoin以及封装动态查询条件版本

Linq的出现,使数据集的处理显得愈来愈简便.很多时候对于本地数据集的处理,脑海中的第一反应,即尝试使用Linq来实现.诸如DataTable的innerJoin以及leftJoin等操作,很多时候我们一接到类似的需求,立马便动手,诸如以下demo: 一.InnerJoin 1 var qMyMx = from mxDr in _dtJgTcDetail.Rows.Cast<DataRow>().Where(drMx => id.Equals(drMx["TCID"]

[LINQ]查询关键字

摘自https://msdn.microsoft.com/zh-cn/library/bb310804.aspx,方便以后翻阅. from子句 查询表达式必须以 from 子句开头.另外,查询表达式还可以包含子查询,子查询也是以 from 子句开头. from 子句指定以下内容: 将对其运行查询或子查询的数据源. 一个本地范围变量,表示源序列中的每个元素. 范围变量和数据源都是强类型. from 子句中引用的数据源的类型必须为 IEnumerable.IEnumerable<T> 或一种派生类

Linq to sql 结合Entity Framework 的连接查询总结

最近在做项目使用linq结合EntityFramework来处理数据库的操作.想来也用了快一年了,发现有些使用技巧是需要注意下,特做下总结,希望对刚入门的朋友们有所帮助.刚开始用的时候各总循环查询子查询,结果性能差得不行,现在看看都觉得好笑.也只有写出过很烂的代码才知道怎么样的代码才是优雅的吧,哈哈.我先总结下连接查询吧,发现很多刚入门的朋友和我一样,不知道怎么用linq写类似与sql的连接查询(left join.inner join等等). 连接查询 内连接查询 linq语法如下: 1 va

linq之延迟加载和即时加载+标准查询运算符

延迟加载 Linq查询的执行结果是IEnumerable<T>类型,而对IEnumerable<T>,在内部,C#通过yield关键字实现迭代器达到延迟加载的目的.从而使Linq查询只是在需要的时候才会被执行.  where Where方法是一个典型的延迟加载案例,在EF的框架中,where方法每次调用都在是在后续生成SQL语句时增加查询条件,EF无法确定本次查询是否已经添加结束,所以没有在方法执行的时候最终确定SQL语句,只能返回一个DbQuery对象,当用这个对象的时候,才会最

Linq to sql 实现多条件的动态查询(方法一)

/// <summary> /// Linq to sql 多字段动态查询 /// </summary> /// <returns></returns> private List<TVacant> ViewBinding(ModelDataContext db,string fyno,string brd,string area,string city,string pos) { Expression<Func<TVacant, bo

2016.1.22 利用LINQ实现DataSet内多张DataTable关联查询操作(目前未发现太大价值)

DataSet ds = new DataSet(); DataTable t1 = DBFactorySingleton.GetInstance().Factory.GetDataTable(sql_ndp).Copy(); t1.TableName = "t1"; DataTable t2 = DBFactorySingleton.GetInstance().Factory.GetDataTable(sql_naip).Copy(); t2.TableName = "t2

JavaEE(14) - JPA查询API和JPQL

1. JPQL面向对象特征 2. 执行JPQL查询的常用API 3. 使用JPQL创建查询 4. 为JPQL设置参数 5. 获取查询结果 6. JPQL函数和JPQL表达式 7. JPQL的关联查询和多态查询 8. 对查询结果集进行分页 9. 使用JPQL子查询和命名查询 10. JPQL的批量更新和删除

【sqli-labs】 less57 GET -Challenge -Union -14 queries allowed -Variation4 (GET型 挑战 联合查询 只允许14次查询 变化4)

双引号闭合 http://192.168.136.128/sqli-labs-master/Less-57/?id=1"%23 和less56一样查数据 原文地址:https://www.cnblogs.com/superkrissV/p/8393627.html