问题标签 [linq-query-syntax]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何使用 Linq2Sql C# 表达式使用复杂表达式加入
我需要实现这样的查询:在 C# Linq2Sql 语句中可以这样写:
但我想知道如何使用 C# 表达式来做到这一点。我的意思是这样的:
我看到 Join 方法只提供了使用 equal join 的机会f1.Id == f2.Id
。但是如何在 C# 表达式中编写更复杂的查询表达式,例如 ? 等表达式在f1.Id < f2.Id
哪里?
c# - 哪个快:查询语法与循环
以下代码提供了两种方法来生成总和小于 100 的整数对,并且它们根据与 (0,0) 的距离以降序排列。
这段代码摘自 Bill Wagner 的《Effective C# 》一书,第 8 条。在整篇文章中,作者更多地关注代码的语法、紧凑性和可读性,而很少关注性能,几乎没有讨论它。
所以我基本上想知道,哪种方法更快?什么通常在性能上更好(通常):查询语法或手动循环?
请详细讨论它们,如果有的话,请提供参考。:-)
c# - 将字符串解析为 LINQ 查询
将 LINQ 字符串解析为查询的最佳实践是什么?
或者换句话说,哪种方法最适合转换:
进入
假设source
指的是一个IEnumerable<Element>
或IQueryable<Element>
在本地范围内。
c# - C# 对象按组排序,使用 linq
我有一个按特定属性分组的对象列表。我需要根据其他属性对这个列表进行排序,但它总是需要保留分组。例如,如果列表类似于:
那么按零件编号升序排序后的结果将是:
它按每个组中的最小 PartNumber 排序(如果按降序排序,则按最大值排序),但必须保持按 ID 分组。我尝试了 .OrderBy() 和 .GroupBy() 的各种组合,但我似乎无法得到我需要的东西。
vb.net - LINQ to SQL“复杂”选择
我有 Country=>Ligue=>Team(Name, Score)
我需要从一个国家/地区选择所有团队名称分数。
像这样的东西,不起作用)
查询 =来自 myCountry.Ligues 中的ligue,来自 ligue.Teams 中的团队 select name = team.Name, score = team.Score distinct
编辑:
VB.NET 语法更可取。
linq - Linq:运算符不理解表达式类型谓词的查询语法
我已将规范定义为如下类型的对象Expression<Func<User, bool>>
:
这对于用扩展方法语法编写的查询非常有效:
但不是使用 Linq 查询语法:
编译器给了我cannot implicitly convert type 'Expression<Func<User, bool>>' to 'bool'
.
是什么赋予了?我认为 Linq 查询语法只是一个可爱的 DSL 修饰扩展方法语法。谁能告诉我如何将我可爱的规范与 Linq 查询语法一起使用?
c# - LINQ - 查询语法与方法链和 lambda
在选择使用 LINQ 查询语法或 LINQ 扩展方法之一中的 Lambda 表达式时,是否有人遵守任何规则(或者您是否被迫遵守雇主的任何规则?)?这适用于任何实体、SQL、对象、任何东西。
在我们的工作场所,我的老板根本不喜欢 lambda,他会对任何事情使用查询语法,在某些情况下,我发现它的可读性较差。
也许在添加条件时,我发现的 Lambda 有点混乱,其中
只是出于兴趣:编译器如何处理这个?有谁知道上面的 LINQ 查询将如何编译成 lambda?是否会Name
为每个元素调用该属性?我们可以这样做并有可能提高性能吗?这是否意味着 lambda 在性能方面更加可控?
当然,当我们开始使用越来越多的表达式时,lambda 会变得混乱,我会开始在这里使用查询语法。
还有一些我发现无法使用查询语法完成的事情。您认为其中一些非常简单(尤其是聚合函数),但是不,您必须在最后添加一种 LINQ 扩展方法,imo 使用 lambda 表达式看起来更整洁。
即使对于一些简单的 lambda 链,ReSharper也建议我将它们转换为 LINQ 查询。
其他人可以添加吗?有没有人有自己的小规则,或者他们的公司是否建议/强制使用一个?
.net - LINQ查询中多个来自选择器的含义是什么
我已经在 LINQ 查询中多次看到过多个 from 子句,但还没有弄清楚它与 TSQL 语句的对应关系。
那有什么作用?
这会转化为 SQLSELECT * FROM products, departments, something
吗?
此外,select
在这种情况下,应该始终是SelectMany
. 我怎么知道什么时候 aselect
实际上是 a SelectMany
?
c# - LINQ - 方法与查询语法差异
我正在使用 DataTable 并注意到 Resharper 建议我可以将循环转换为 LINQ 表达式。我这样做了,它被重写为查询表达式语法(简化):
就个人而言,我更喜欢方法语法,因此将其重写为:
它坏了。
“System.Data.DataRowCollection”不包含“Select”的定义,并且找不到接受“System.Data.DataRowCollection”类型的第一个参数的扩展方法“Select”(您是否缺少 using 指令或程序集引用?)
既然查询表达式被翻译成方法调用,为什么第一个有效而第二个无效?我希望两者都起作用或都不起作用,显然情况并非如此。
linq - Linq 嵌套内连接
我想加入以下表格
首先加入 B_Book 和 BI_BookInstance,然后将它们的结果加入 BookCategory。(第一次连接)[B_BID 等于 BI_BID] (第二次嵌套连接)[第一次连接 B_CategoryID 的结果等于 BC_CategoryID]
编辑
SQL 将类似于以下内容: