问题标签 [linq-extensions]

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 回答
9665 浏览

linq - First() 会执行 OrderBy() 吗?

之间的(渐近)性能是否有任何差异

即First() 会执行OrderBy() 吗?我猜没有。MSDN说通过 foreach och GetEnumerator 枚举集合确实如此,但措辞并不排除其他扩展。

0 投票
2 回答
740 浏览

linq-to-sql - 将 LINQ 类扩展到我自己在不同命名空间中的部分类?

我有一个 .dbml 文件,其中当然包含基于我的表自动生成的类。

但是,我想将它们扩展到我自己的课程。通常我的设计是让我的每个表在它们自己的文件夹中都有自己的命名空间,其中包含所有相关的 dao 和服务类。因此,如果我正在处理一个仅与“客户”有关的页面,我只能包含 customerNS。

但是当使用 LINQ 时,我似乎无法做到这一点。我尝试从项目中删除默认命名空间,我尝试将 .dbml 文件放入具有自定义命名空间的自己的文件夹中,然后添加“使用”语句,但没有任何效果。

我还看到了与 .dbml 文件关联的实体命名空间、上下文命名空间和自定义工具命名空间属性,并尝试将所有这些设置为名称 x 并​​尝试在我的其他类中“使用 x”以允许我扩展部分类,但它只是不起作用。

这是可能的还是我必须将所有扩展的部分类保留在与 .dbml 文件相同的命名空间中?

0 投票
2 回答
1051 浏览

c# - linq 扩展方法 ElementAt 的性能

Enumerable.ElementAt(TSource)Method的 MSDN 库条目说

“如果源的类型实现了IList,则该实现用于获取指定索引处的元素。否则,此方法获取指定元素。”

假设我们有以下示例:

执行上有区别吗?或者 ElementAt 是否承认它col也实现了 IList<>,尽管它只声明为 ICollection<>?

谢谢

0 投票
4 回答
3672 浏览

c# - linq 扩展方法从序列末尾获取元素

有可枚举的扩展方法

它从一开始就采用第一个count元素。

有没有办法从最后获取元素?甚至更好的方法将元素从偏移量带到最后?

谢谢

0 投票
3 回答
2640 浏览

asp.net-mvc - Visual Studio 在我的 Asp.net MVC 视图中不显示 Linq 扩展

这让我感到困惑,我似乎无法让 Visual Studio 2010 识别视图代码中的 System.Linq 扩展方法。Intellisense 不起作用,Visual Studio 红色强调无法识别的扩展方法。

这些是 web.config 最相关的部分,我认为它们与 Visual Studio 相关,以识别 System.Linq 扩展方法。注释掉的行可能没有注释,但没有区别。

我有一个看起来像这样的部分视图定义。同样的注释掉了两行。未注释没有区别:

在这个特定的局部视图Any()扩展方法中,即使它是在命名空间System.Core下的程序集中定义的,也无法识别System.Linq

我缺少哪些配置设置?似乎 Visual Studio 看不到System.Core程序集来枚举它在命名空间中的扩展方法System.Linq

0 投票
2 回答
854 浏览

c# - 当不满足 Where 子句时,LINQ 扩展方法能否使用 new() .Value 创建新的 KeyValuePair

我有一个收藏

在哪里

我在我的集​​合上使用 LINQ 来返回Details实例

其中.SingleOrNew定义为

因此,如果在满足子句 aKeyValuePair<string, Details>的列表中找不到a ,则返回。xWherenew KeyValuePair<string, Details>

但问题是new KeyValuePair<string, Details>包含一个空的详细信息值

当从子句中找不到匹配项时,.Where我想知道是否可以使用任何 LINQ(扩展)方法,它会返回一个new KeyValuePair<string, Details>like SingleOrNew,但是.Value/Details的部分KeyValuePair已使用默认的无Details参数构造函数初始化?所以它不为空!

0 投票
1 回答
1365 浏览

jquery - jqGrid的LINQ搜索上的可为空值

首先,对不起我的英语不好,不是我的母语。

我在工作中的 ASP.NET MVC 项目上使用 jqgrid,并且在实现搜索时遇到了一些问题。我尝试使用一种使用 LinqExtensions 在 Internet 上找到的解决方案。当实体具有可为空的值时会出现问题,例如:

这是因为在数据库中值接受 null,并且出于项目的其他原因需要我的 c# 代码上的可为空值。

在另一个名为 LinqExtensions 的类中,where 子句是这样的:

Model类中的方法是:

我创建了网格,非常正确地显示值但是......当通过字符串搜索时,即使某些值为空,并且如果尝试通过 IntegerValue 搜索(支持空)并且当实体上的某些值为空时抛出异常. 这个问题正在把我变成一个疯子。

请,如果有人有同样的问题或知道如何解决它,我将永远感激

再见

0 投票
1 回答
668 浏览

entity-framework - Linq To 实体的自定义扩展方法

我想使用 Linq-To-Entities 对我的 SQL Server 2008 R2 数据库进行查询。
我使用实体框架 4.1(代码优先)
,查询必须将实体的散列值与参数进行比较,如下所示:

但是我只能使用为 EF 提供者定义的核心扩展方法和 CLR 方法
因此,我试图将我的HashCode()方法转换为 L2E 在执行之前能够理解的东西。

仅供参考,HashCode 的实现并不复杂。就像是:

我知道我可以将所有实体作为可枚举检索并在我的代码(Linq To Objects)中检查它们,但考虑到我要以这种方式检索的数据量,这是一场灾难。

它是否可行(对于GetHashCode方法)。如果是这样,我该如何实施?
谢谢你。

0 投票
1 回答
259 浏览

linq - linq 扩展方法,如何更新单个项目的多个属性?

在我的数据库中,我有一个要更新的项目。我尝试做这样的事情,但它不起作用:

这段代码有什么用,但我认为这是低效的(我错了吗?):

有没有办法通过单个查询更新单个对象的不同属性?

0 投票
2 回答
55 浏览

c# - 如何获取作为对象一部分的项目列表?

我有这样的事情:

当我想获取此类的属性时,我会:

它工作得很好,我可以获得所有属性,但List<SomeObject>属性始终为空。我怎样才能得到一个myClass具有所有属性和SomeObjects 列表的对象?我知道我可以这样做:

但我不想那样做,有没有其他方法可以一次获得整个对象?