c# - 使用 Queryable 代替扩展方法

标签 c# linq entity-framework resharper

ReSharper 建议我进行以下更改:

来自:

foreach (var item in db.Proposta.GroupBy(x => x.StatusProposta.Nome))
{
    ...
}

致:

foreach (var item in Queryable.GroupBy(db.Proposta, x => x.StatusProposta.Nome))
{
    ...
}

消息是:将方法“GroupBy”作为静态方法调用

我正在使用 Entity Framework db是我的上下文。

我想知道通过这样的改变我可以获得什么好处或可以避免什么问题。

最佳答案

Resharper 只是将其提供为可以为您做的事情。它同样会提供将静态方法调用转换为扩展方法调用的功能。

实际上,这是一个偏好问题 - 一个比另一个没有优势 - 它们编译为相同的东西,但您应该将其用作扩展方法。使用 LINQ 时,对扩展方法使用扩展方法语法比简单的静态调用更为流行。

关于c# - 使用 Queryable 代替扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12923497/

相关文章:

c# - MVC5 项目中 exe 文件的用途是什么?

c# - Linq 与可空 int 的 sum

c# - 取 LINQ 中每个分组项目的 Top(X)

c# - 如何比较两个数据表的单元格值

asp.net-mvc - 使用 AutoFac OnRelease 保存 DbContext 更改?

c# - IDistributedCache 通过注入(inject)调用构造函数

c# - 资源中添加图片到Base64编码的ImageStream(resx)

c# - 如何在 sitefinity CMS 中创建站点地图?

c# - 每个 ID 删除许多记录 - MVC C#

c# - EF Code First 比较空值会生成奇怪的查询