【发布时间】:2012-10-16 21:13:07
【问题描述】:
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,它不了解扩展方法吗?
-
这些调用是等价的。我会留下原来的。考虑到 GroupBy 已经是一种扩展方法,另一个感觉很尴尬 - 并且通过允许向该类型添加方法来创建扩展方法来扩展一种类型。换句话说 - 扩展方法的想法是允许使用新添加的方法来调用该类型上已经存在的其他方法。
-
@TrevorPilley 我使用的是最新版本,7.0。刚刚安装好了。
-
请参阅 my answer here 以回答您的开头“ReSharper 已向我提出建议”。简而言之,铅笔图标是它可以做的事情;灯泡图标是它想要做的事情。
-
@AakashM 很有启发性!但在这种情况下,我看到的是一把锤子,而不是铅笔或灯泡。
标签: c# linq entity-framework resharper