C# Group.Key.Count()为所有组返回相同的数字
我有C# Group.Key.Count()为所有组返回相同的数字,c#,entity-framework,linq,C#,Entity Framework,Linq,我有缺勤数据库表。 我使用实体框架连接数据库 缺勤结构 [ID] INT NOT NULL, [STG] VARCHAR (50) NOT NULL, [ABSDate] DATETIME2 (7) NOT NULL, 缺勤数据 1 S-5 20/10/2020 14:00 2 S-3 25/10/2020 16:00 3 S-3 25/10/2020 14:00 4 S-7 26/10/2020 08:00 5 S-3 26/10/
缺勤
数据库表。
我使用实体框架
连接数据库
缺勤结构
[ID] INT NOT NULL,
[STG] VARCHAR (50) NOT NULL,
[ABSDate] DATETIME2 (7) NOT NULL,
缺勤数据
1 S-5 20/10/2020 14:00
2 S-3 25/10/2020 16:00
3 S-3 25/10/2020 14:00
4 S-7 26/10/2020 08:00
5 S-3 26/10/2020 10:00
6 S-3 26/10/2020 16:00
7 S-5 26/10/2020 16:00
8 S-2 28/10/2020 10:00
9 S-4 30/10/2020 14:00
10 S-7 01/11/2020 14:00
我想用一些数据填充winforms
项目中的图表。(STG
和STG计数)
我试过了
using (SchoolEntities context = new SchoolEntities())
{
var R = context.Absence.AsEnumerable().GroupBy(A => A.STG).Select(G => new { S = G.Key, ACount = G.Key.Count() });
foreach (var item in R)
{
chart1.Series["Absences"].Points.AddXY(item.S, item.ACount);
}
}
但我得到的数据具有相同的计数(每个STG具有相同的计数)如下图所示
我如何才能用实际计数获得每个STG
,因为正如您在缺勤
表中存储的数据中所看到的,一些STG
在缺勤
中有多于或少于3条记录
提前表示感谢。更改:
var R=context.idence.AsEnumerable().GroupBy(A=>A.STG)。选择(G=>new{S=G.Key,ACount=G.Key.Count());
致:
var R=context.idence.AsEnumerable().GroupBy(A=>A.STG)。选择(G=>new{S=G.Key,ACount=G.Count());
“S-4”。Count()
是3。。。和钥匙的所有其他值一样。非常感谢先生,这帮助。