LINQ到SQL GROUP BY和总和选择 [英] Linq to SQL Group by and Sum in Select
本文介绍了LINQ到SQL GROUP BY和总和选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要转换的SQL查询到LINQ的:
I need to convert that SQL Query into Linq:
SELECT
SUM([ArticleAmount]) as amount
,[ArticleName]
FROM [DB].[dbo].[OrderedArticle]
group by articlename
order by amount desc
我尝试以下code,但我在a.ArticleName,上面写着ArticleName的定义,得到一个错误就会丢失。
I tried the following code but I get an error at "a.ArticleName" that says a definition of "ArticleName" would be missing.
var sells = orderedArt
.GroupBy(a => a.ArticleName)
.Select(a => new {Amount = a.Sum(b => b.ArticleAmount),Name=a.ArticleName})
.OrderByDescending(a=>a.Amount)
.ToList();
现拥有你这样的人,并知道如何解决这个问题?
Has someone of you and idea how to fix this?
感谢您的帮助!
推荐答案
您收到此错误,因为分组不返回的IEnumerable< OrderedArticle>
,但的IEnumerable< IGrouping<字符串,OrderedArticle>>
You are getting this error because the Grouping doesn't return IEnumerable<OrderedArticle>
but IEnumerable<IGrouping<string, OrderedArticle>>
您需要更改code使用 a.Key
:
You need to change your code to use a.Key
:
var sells = orderedArt
.GroupBy(a => a.ArticleName)
.Select(a => new { Amount = a.Sum(b => b.ArticleAmount), Name = a.Key})
.OrderByDescending(a => a.Amount)
.ToList();
这篇关于LINQ到SQL GROUP BY和总和选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文