问题标签 [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.

0 投票
1 回答
1711 浏览

c# - 具有多个语句的 LINQ 查询语法

可以使用 LINQ 的查询语法重写此方法吗?

我不知道在哪里放置tab.Pick()方法调用。

0 投票
1 回答
1134 浏览

c# - 实体框架:生成动态 where 子句并选择自定义列

我有 3 张桌子:Person, PersonFriend, PersonGroup.

使用 LINQ,我想加入 3 个表,使用动态生成的 where 子句进行过滤,并选择具有扁平行的自定义列(扁平的一对多关系表列)。

伪SQL设计:

实体:

查询语法 LINQ:

注意 where 子句;给定一个{ PersonId, FriendType }对象列表,我想像上面一样构建 where 子句。

由于我无法为 a 构建动态 where 子句query syntax LINQ,因此我尝试将其转换为Method syntax LINQ语句,以便可以利用PredicateBuilder( http://www.albahari.com/nutshell/predicatebuilder.aspx ) 但在选择期间遇到了问题一对多的东西变成一个扁平的对象。

请注意,上面的 Select 是不可能的,因为friend它是一个 ICollection。

我还尝试使用没有 where 子句的上述query syntax LINQ语句,使其返回一个对象而不是匿名对象,然后使用谓词构建器调用该方法。但是构建的表达式在应用程序中运行并执行,而不是在数据库中。.Where()LINQ => Entity Framework SQL conversion errorwhere

我觉得我尽我所能,我似乎无法生成这个 SQL。最后的手段是编写一个原始的 SQL 字符串然后执行它,但我真的很想让它与 Entity Framework 一起工作。

我将如何完成创建动态 where 子句、选择自定义扁平对象以及让实体框架生成 SQL?

0 投票
1 回答
37 浏览

c# - 如何从foreach循环的linqQuery中获取数组中的多个值?

嗨,我想在 foreach 循环中执行的 Array 中获取我的查询结果,我有我的自定义类,但是每当我尝试将它保存在变量中时,它都会显示错误:

无法将 genriccustom 类转换为我的自定义类

0 投票
2 回答
243 浏览

sql-server - 检查任何数据库表是否有任何行

我试图了解如何使用实体框架检查我的数据库中的任何表是否有数据。我可以检查一张桌子,但如何一次检查所有桌子?我们对 ef6 有什么选择吗?

任何关于如何遍历实体的指针都会有所帮助。

0 投票
1 回答
183 浏览

c# - 导航属性未在 Linq 查询语法中实现,延迟加载也不起作用

下面是使用 linq 的连接:

假设 TableB 具有 TableA 中项目的匹配记录。但是在执行查询之后,每个 A 的导航属性 B 中都没有值。

此外,当我尝试在内部 foreach 循环中访问它时,它不会向 DB 发送请求以加载这些实体(延迟加载)。

我是否遗漏了什么或者实体框架应该工作的方式。

因为在这种情况下,我预计延迟加载将起作用并在访问时加载相关实体。

有没有办法在使用 LINQ 查询语法的同时实现这些导航属性,而不会失去编写没有子查询的干净 sql 查询的能力。

0 投票
2 回答
35 浏览

linq - 这是使用 LINQ 查询语法分配属性的更短方式吗?

假设我有一个包含 30 个属性的对象列表(例如Items:)

如果我将 LINQ Query-Syntax 用于Join另一个对象(例如Store:),我似乎不可避免地必须从 重新分配每个属性Item,对吧?

例如:

0 投票
1 回答
7536 浏览

linq - 在 EF Core Linq 查询中连接表

我目前正在尝试使用 EF Core 制作一个 Web Api,并且在加入我收集的表格时遇到了一些问题。我正在使用以下数据库图: 在此处输入图像描述

我目前从我的 API 返回的数据看起来是这样的:

如您所见,它几乎可以正常工作,我的问题是评论中的空值,我也希望能够让用户退出。但由于某种原因我不能。

我当前的查询看起来像这样(我正在使用 DTO 来清理生成的 JSON):

如果我正在使用 SQL,我会将用户加入“评论”,但我不能,所以我尝试了一个类似的解决方案,我认为它会起作用。

然而,虽然这个查询确实执行了结果与我写的第一个查询相同,但问题是用户没有加入评论

TLDR;我可以加入用户发帖和评论发帖,但我不能绑定用户发表评论

我希望你能帮助我,在此先感谢:)

编辑:这是我的模型

0 投票
1 回答
503 浏览

c# - Linq Query 获取过去 x 年内每年的最后一个条目

我在一个包含使用数据的 MSSQL 表中有一个表。对于报告,我只需要加载过去 10 年中每年的最后一个条目。

例子

有没有办法使用单个 linq 查询来获取这些值,或者我可以以某种方式组合多个 linq 查询?

我想出的想法是寻找 12 月 31 日,但这会因为任何原因导致这个日期没有条目的问题。相反,查询应该加载最后一个可用的日期(如 ID 3 中)。

0 投票
1 回答
67 浏览

c# - 什么决定了 Linq 语句中的 Where 能够解析什么?

在 Linq 语句的 Where 子句中,像这样,

表达式b.Active==1工作正常。但如果我这样做,

[更新:由于汉斯的回答,我将其保留为原始内容,但实际上,我在这里打错了。表达式实际上使用的是底层类型,而不是像查询 Linq 那样生成的复数形式。我其实有这个

]

试试这个,

编译器抱怨,

无法将查询表达式转换为预期的委托类型,因为块中的某些返回类型不能隐式转换为委托返回类型

我已经看到很多这样的问题,但我不明白为什么它不起作用。我误解了基本原理,所以我并不是真的要求任何人编写代码。我想知道 Linq 想要什么,所以我对 Linq 有更好的理解,而不仅仅是做一些事情。这有效,例如,

我想知道为什么它在那里工作,而不是在加入后的 Where 中。如果我在连接结束时执行 Where,编译器仍然知道 MyRecords 字段,包括 Active。

认为这就是我所追求的正确描述,因为它似乎很适合我的可能。

http://www.albahari.com/nutshell/linqkit.aspx

0 投票
0 回答
34 浏览

mysql - LINQ 查询语法操作数应包含 1 列

我有以下 LINQ 代码:

当我运行代码时,它给了我错误:

MySQL - 操作数应包含 1 列

我正在使用 MySQL 驱动程序在 LINQPad 中运行代码。在将它放入我的应用程序之前,我正在 LINQPad 中对其进行测试。

从 LINQPad 生成的 SQL 如下所示: