回答

收藏

Linq to SQL Group by和Select中的和

技术问答 技术问答 200 人阅读 | 0 人回复 | 2023-09-14

我需要将该SQL查询转换为Linq:& w; `" `3 V( U7 l9 S( L
SELECT    SUM([ArticleAmount]) as amount    ,[ArticleName]FROM [DB].[dbo].[OrderedArticle]group by articlenameorder by amount desc我 a.ArticleName收到错误消息,提示 ArticleName定义将丢失。
2 `6 b$ \7 P2 U1 ^var sells = orderedArt            .GroupBy(a => a.ArticleName)            .Select(a => new {Amount = a.Sum(b => b.ArticleAmount),Name=a.ArticleName})            .OrderByDescending(a=>a.Amount)            .ToList();有人知道如何解决这个问题吗?7 v& U' f4 C( L' [; U) N! j* C/ L
谢谢你的帮助!( e9 k, {- V& s" [% `0 l: m  e
                                                                - f# ]; ~# ^$ u$ W
    解决方案:                                                               
# k# D* B6 q% w                                                                你收到这个错误是因为分组没有返回,IEnumerable但IEnumerable[I]>9 W+ ^6 ~3 @7 o1 {' l$ B  }
您需要更改代码以使用代码a.Key:$ L5 L. C  ?$ N- A4 f
var sells = orderedArt    .GroupBy(a => a.ArticleName)    .Select(a => new { Amount = a.Sum(b => b.ArticleAmount),Name = a.Key})    .OrderByDescending(a => a.Amount)    .ToList();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则