【发布时间】:2012-12-08 22:54:48
【问题描述】:
我需要将该 SQL 查询转换为 Linq:
SELECT
SUM([ArticleAmount]) as amount
,[ArticleName]
FROM [DB].[dbo].[OrderedArticle]
group by articlename
order by amount desc
我尝试了以下代码,但在“a.ArticleName”处出现错误,提示“ArticleName”的定义将丢失。
var sells = orderedArt
.GroupBy(a => a.ArticleName)
.Select(a => new {Amount = a.Sum(b => b.ArticleAmount),Name=a.ArticleName})
.OrderByDescending(a=>a.Amount)
.ToList();
你们中有人知道如何解决这个问题吗?
感谢您的帮助!
【问题讨论】:
-
ArticleName是orderedArt中的一列吗?我会下载LINQPad。它可以从 SQL 转换为 Linq,因此您可以将查询放入其中并提取正确的 Linq 代码。 -
是的,ArticleName 是orderedArt 中的一列。该错误仅发生在选择中。 GroupBy 有效。我会试试 LINQPad,谢谢你的提示 :)
-
我会试试 LINQPad。它至少应该为您指明正确的方向。
标签: sql asp.net-mvc linq entity-framework