问题标签 [linq]

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 投票
4 回答
1321 浏览

c# - 如何在 Linq 中更新与数据库断开连接的实体?

下面的代码无法正确运行并抛出InvalidOperationExcepiton.

0 投票
4 回答
5747 浏览

c# - 如何从内存列表中获取一组不同的属性值?

我有一个 Foo 列表。

Foo 有一个名为 Bar 的字符串属性。

我想使用LINQ在 Foo 列表中获取 Foo.Bar的不同值的字符串 [] 。

我怎样才能做到这一点?

0 投票
22 回答
299754 浏览

c# - IEnumerable 上的动态 LINQ OrderBy/ 可查询的

我在动态 LINQ 的VS2008 示例中找到了一个示例,该示例允许您使用类似 SQL 的字符串(例如OrderBy("Name, Age DESC")),用于排序。不幸的是,包含的方法仅适用于IQueryable<T>. 有没有办法获得此功能IEnumerable<T>

0 投票
16 回答
151392 浏览

c# - 使用 LINQ 检查列表是否为空

确定列表是否为空的“最佳”(同时考虑速度和可读性)方法是什么?即使列表是类型IEnumerable<T>并且没有 Count 属性。

现在我在这之间折腾:

还有这个:

我的猜测是第二个选项更快,因为它会在看到第一个项目后立即返回结果,而第二个选项(对于 IEnumerable)将需要访问每个项目以返回计数。

话虽如此,第二个选项对您来说是否可读?你更喜欢哪个?或者你能想出一个更好的方法来测试一个空列表吗?

编辑@lassevk 的响应似乎是最合乎逻辑的,再加上一些运行时检查以尽可能使用缓存计数,如下所示:

0 投票
5 回答
2574 浏览

linq - 管理 LINQ to SQL .dbml 模型复杂性

这个问题在LINQ to SQL .dbml best practice上的这个问题中得到了一定程度的解决,但我不确定如何添加到问题中。

我们的一个应用程序使用 LINQ to SQL,我们目前有一个用于整个数据库的 .dbml 文件,这变得难以管理。我们正在考虑将其重构为更特定于模块/功能的单独文件,但一个问题是许多高级类必须在多个 .dbml 文件中复制,因为关联不能跨 .dbml 使用。 dbml 文件(据我所知),以及附加的部分类代码。

有没有人解决这个问题,你会提出什么建议?

0 投票
6 回答
11395 浏览

c# - 如何在 Mono 上将 Linq 与 MySql 数据库一起使用?

有许多库为与 MySql 数据库交互的 C# 代码提供 Linq 功能。其中哪一个在 Mono 上最稳定和可用?

背景(大部分无关紧要):我有一个简单的 C# (.Net 2.0) 程序更新 MySql 数据库中的值。它每晚通过 cron 作业执行,并在 Pentium 3 450Mhz、Linux + Mono 上运行。我想使用 Linq(.Net 3.5)重写它,主要是作为练习(我还没有使用过 Linq)。

0 投票
1 回答
1868 浏览

c# - 使用 LINQ 替换文件扩展名的 C# .Net 3.5 代码

我已经编写了这个非常简单的函数来在 C#.NET 3.5 中使用 LINQ 替换文件扩展名,但是我觉得有一种更优雅的方法可以做到这一点。(我不打算在这里使用 LINQ - 只是寻找一种更优雅的方法。)想法?

(我知道如果原始文件名没有点,这将不起作用。)

0 投票
2 回答
5471 浏览

c# - 你如何索引到 LINQ 中的 var?

我试图让以下代码在 LINQPad 中工作,但无法索引到 var。有人知道如何在 LINQ 中索引 var 吗?

0 投票
15 回答
70533 浏览

.net - 如何解决 SQL Server Compact Edition 数据库上的 LINQ to SQL 中的“未找到或更改行”异常?

在使用 LINQ to SQL 连接(针对 SQL Server Compact Edition)更新几个属性后对 DataContext 执行 SubmitChanges 时,我收到“未找到或更改行”。更改冲突异常。

该查询生成以下 SQL:

明显的问题是WHERE 0=1,加载记录后,我已经确认“deviceSessionRecord”中的所有属性都正确包含主键。此外,当捕获“ChangeConflictException”时,没有关于失败原因的其他信息。我还确认,数据库中只有一条记录(我正在尝试更新的记录)引发了此异常

奇怪的是,我在不同的代码部分有一个非常相似的更新语句,它生成以下 SQL,并且确实更新了我的 SQL Server Compact Edition 数据库。

我已经确认在数据库模式和生成 LINQ 类的 DBML 中都确定了正确的主字段值。

我想这几乎是一个两部分的问题:

  1. 为什么会抛出异常?
  2. 在查看了第二组生成的 SQL 之后,似乎为了检测冲突,检查所有字段会很好,但我想这将是相当低效的。这是总是这样吗?有没有只检查主键的设置?

在过去的两个小时里,我一直在与此作斗争,因此我们将不胜感激。

0 投票
3 回答
10418 浏览

sql - 如何在 Linq 中编写 SELECT FROM myTable WHERE id IN (SELECT...)?

你如何在 Linq 中重写它?

所以用简单的英语,我想从 TableA 中选择 Id 和 Name,其中 TableA 的 Id 在第二个查询的结果集中。