问题标签 [linq-to-objects]

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 投票
5 回答
189 浏览

c# - 在这种情况下可以构建单个 LINQ 查询表达式吗?

我面临一个场景,我必须根据许多对象过滤单个对象。

例如,我有一个Grocery对象,它包含 Fruit 和 Vegetable 属性。然后我有单独的水果蔬菜对象。

我的目标是这样的:

我面临的问题是水果和蔬菜对象是空的。 空,我的意思是他们的列表计数为 0,我只想在填充过滤器列表时应用过滤器。

由于对象为空,我也无法使用类似的东西:

所以,我打算检查水果蔬菜列表计数......并将它们过滤为连续过滤的Grocery对象上的单独表达式。

但是有没有办法在单个查询表达式中有空对象的情况下仍然获取列表?

0 投票
3 回答
167 浏览

c# - 每 x 次迭代,Linq-to-objects 处理时间加倍

我有一个包含 ~137000 条记录的实体列表,我循环遍历这些记录,然后我需要 linq 到包含 ~ 150000 的附加参数的元组列表

为什么它持续花费更长的时间,它的迭代次数越多?这是从秒表中找到的:136770 个符合条件的项目。

10,000 个项目处理 EllapsedTime:5473 即:0.0912166666666667 分钟。

20,000 个项目已处理 EllapsedTime:15307 即:0.255116666666667 分钟。

30,000 个项目已处理 EllapsedTime:30065 即:0.501083333333333 分钟。

50,000 个项目已处理 EllapsedTime:74507 即:1.24178333333333 分钟。

75,000 个项目已处理 EllapsedTime:157836 即:2.6306 分钟。

100,000 个项目处理 EllapsedTime:272495 即:4.54158333333333 分钟。

EllapsedTime:499663即:8.32771666666667分钟。

有什么办法可以优化吗?

问候

_埃里克

0 投票
1 回答
452 浏览

c# - 对如何在 LINQ to Objects 中实现扩展方法感到困惑

对 LINQ 相当陌生,并试图将我的头脑围绕在扩展方法上。我正在尝试做的事情:

1)有一个三列的表,col1(字符串),col2(双),col3(日期时间)

2)我需要编写一个 LINQ 查询以按列 1 分组,并将分组的行发送到返回值 double 的方法。像这样的东西

3)并具有扩展功能:

我已经为此工作了一段时间,但不太明白。有人可以帮忙吗?

0 投票
7 回答
11068 浏览

c# - LINQ 标识函数

只是关于 LINQ 语法的一些小问题。我正在IEnumerable<IEnumerable<T>>SelectMany(x => x).

我的问题是 lambda 表达式x => x。它看起来有点难看。是否有一些我可以使用的静态“身份函数”对象来代替x => x?像SelectMany(IdentityFunction)什么?

0 投票
3 回答
19155 浏览

c# - 如何使用 Linq 在列上使用 Distinct

这是我的代码:

ip列应该是唯一的。我不能在 ip 字段中有重复的项目。是否可以在 linq 中执行此操作

0 投票
2 回答
4266 浏览

c# - 如何按子句获取 Linq Group 中的所有选择键

我正在尝试获取此 linq 查询中的其余选择键,但智能感知给了我一个错误

我如何获得这些选择键?

0 投票
1 回答
1046 浏览

.net - LINQ Gernic 列表 VB.NET

我正在尝试使用产品类实体、抽象存储库和带有示例数据的假存储库来创建域模型。

我创建了以下产品类

以及如下界面:

我现在需要使用通用 LINQ 列表创建数据,但是我被卡住了,这是我目前所拥有的,但我无法添加项目:

样品项目:

非常感谢帮助..

0 投票
0 回答
770 浏览

c# - 2.如何通过linq to sql使用文本框编辑/更新数据库中的记录?

可能重复:
如何使用 linq to sql 的文本框编辑/更新数据库中的记录?

我正在使用 linq to sql 的 Visual Basic 2008 Express Edition 进行我的数据库操作,例如编辑记录。我没有使用任何 sql server,但我只是使用了 visual basic 2008 express 中的内置 sql server。我试图修改代码,语法没有错误,但运行时出现错误,它会弹出一个窗口消息,说明它的错误消息。我想要的是将从数据库中检索到的记录编辑到文本框中,当您单击按钮 5 时,文本框中的新值应替换前一个值。Account字段是 memrec.dbml 中 Table1 中的字段,我为主键设置为 true,其余字段在其主键中为 false。当你运行程序时,下面的代码仍然发现一个错误,它会弹出一个窗口,上面写着:

NotSupportedException 未处理- Sql server 不处理 NText、Text、Xml 或 Image 数据类型的比较。

它突出显示该行的黄色背景:

这些是我在 memrec.dbml 属性窗口中 Table1 上每个字段的属性上看到的:

您认为可能的错误是什么?

是在它的设置方面吗?

这是我的代码:



感谢您花时间和我一起解决这个问题......

0 投票
1 回答
10766 浏览

linq-to-objects - 使用 LINQ to 对象在所有嵌套集合中选择不同的值?

给定以下代码设置:

如何使用 LINQ 在所有 Foo 实例中获取 MyStrings 中所有不同字符串的列表?我觉得这应该很容易,但不能完全弄清楚。

0 投票
3 回答
3459 浏览

c# - 实施行级安全性——(SP 与 LINQ to Objects)

我相信这更多的是关于最佳实践和设计的问题。我尝试搜索与此相关的类似查询,但找不到任何查询。我实际上找到了带有实体框架的行级安全性,但我相信这里的上下文有点不同。

我将首先尝试解释我的情况:

我有一个 .net 3.5 网站,它使用通用业务库通过 NHibernate 访问我的 SQL 2008 数据库。所有代码都是 C#,使用 NHibernate 2.1。我的网站显示来自业务库的不同 IList 的负载,业务层通过 NHibernate 从 SQL 获取所有数据。所以,我可以有一个返回 IList 的方法,另一个返回 IList、另一个 IList 等的方法……关键是活动用户只能访问所有返回的一部分(几乎所有类型的结果集都必须从安全性中过滤),所以我需要在库上实现一个“数据过滤器”,它只将允许的数据行返回到网站。为了做到这一点,我网站上的 IPrincipal 被用于图书馆,这样我就可以获取用户详细信息来过滤数据,但是由于我们的安全模型非常复杂,将其扩展到我们所有的方法会产生巨大的维护问题。因此,为了解决这个问题,我们创建了几个 SQL SP,它们为当前用户返回允许的项目,在业务逻辑上,我们只需要将请求的数据与安全数据连接起来,我们就有最终的结果集要发送给用户。现在这个加入数据的过程是使用 Linq to Objects 我加入一个带有列表(安全)的 iList 只返回允许的结果集。IList 通过不同的方式来自 NHibernate,可以是 GetAll() 方法、ICriteria.List() 或 IQuery.List() 甚至是 NamedQuery.List(),并且安全数据始终来自其中一个两个 NamedQuery.List()。我还计划实现线程以允许同时和线程后调用 SQL。join() 在两个 IList 上执行 LINQ 连接。我在下面添加了一个示例代码来说明如何执行一个方法。

第二个选项,这就是我们试图摆脱的,是在 SQL 端实现 Join,让我们所有的调用都必须来自 SQL SP,它们将对安全结果进行连接,并且不允许业务代码获取NHibernate 功能的完整使用。

现在我的问题是,对于行级安全来说,这是一种糟糕的方法/实践(请记住,我们的安全模型非常复杂且可定制——这是通过业务设计实现的),还是我们正朝着正确的方向前进?我们还有其他选择吗?

在此先感谢,克莱顿