我有一个枚举如下:
public enum BPLevel {
Normal = 1,
HighNormal = 2,
HypertensionStage1 = 3,
ModerateHypertensionStage2 = 4,
SeverHypertensionStage3 = 5,
} // BloodPressureLevel
我有以下分类:
我正在使用 Entity Framework ,我需要计算每个级别有多少人:
IDictionary<BPLevel, Int32> stats = context
.Persons
.Select(x => new { PersonId = x.Person.Id, BPDiastolic = x.BPDiastolic, BPSystolic = x.BPSystolic })
.Count( ...
我的问题是如何在查询中应用此分类?
最佳答案
我只想添加一个分配给函数调用结果的分类成员
IDictionary<BPLevel, Int32> stats = context
.Persons
.Select(x => new { PersonId = x.Person.Id, BPDiastolic = x.BPDiastolic,
BPSystolic = x.BPSystolic,
Classification = GetClassification(BPDiastolic, BPSystolic) })
.Count( ...
BPLevel GetClassification(int diastolic, int systolic)
{
...
}
对 EF 的查询有时不喜欢在查询内部发生的操作,因此您可能需要在
ToList
之前执行 Select
以将其放入内存(因此它的 LINQ to objects)。关于c# - 对范围内的值进行分类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25689686/