开发者

linq to SQL with aggregate functions

开发者 https://www.devze.com 2023-03-12 21:56 出处:网络
I have spent a great deal of time trying to convert the query below to linq to entities. SELECT ItemCode, AVG([Count]) As [Count]

I have spent a great deal of time trying to convert the query below to linq to entities.

SELECT ItemCode, AVG([Count]) As [Count]
FROM [tblHistory]
GROUP BY ItemCode
ORDER BY [Count] desc

In my entity framework edmx, I have a tblHistory with fields

{ ItemCode(int), Count(int), Date(datetime) }

I am able to group by one column and display that particular column (in this case Count) but to access ItemCode in the same context is giving me trouble.

One of the methods that I tried to use is below:

 var query = from p in Context.tblHistories
             group p by p.ItemCode into g
             select new tblHistory
                        {
             开发者_StackOverflow               ItemCode = g.Key,
                            Count = from c in g select new { c.Count }
                        };

Please let me know if additional info is required for anyone who has knowledge of this as I will gladly provide.


tblHistories.GroupBy(p => p.ItemCode)
         .Select(g => new { ItemCode = g.Key, Count = g.Average (c => c.Count)})
         .OrderByDescending(x => x.Count)
         .AsEnumerable()
         .Select(x => new tblHistory{ ItemCode = x.ItemCode, Count = (int)x.Count })
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号