У меня есть модель для обработки расчета балла на основе различных правилLINQ Как сделать BETWEEN условия
Scoremaster
----------
Grade
MinScore
MaxScore
GradeRule
Некоторые образцы данные представлены здесь
A1 4.5 5 5
A2 4 4.5 5
B1 3.5 4 5
B2 3 3.5 5
C 0 3 5
A1 8 10 10
A2 6 8 10
B1 5 6 10
C 0 5 10
A1 16 20 20
A2 12 16 20
B1 8 12 20
C 0 8 20
Алгоритма я планирую это так
string FindGrade(double score,string rule)
{
List<Scoremaster> scores=(from p in dbcontext.Scoremasters
where p.GradeRule==rule
select p).ToList();
//how can i check the score input of the function belongs to which category from this list using Linq
//example FindGrade(3,5) = B2 FindGrade(4,5) = A2
//example FindGrade(7,10) = A2 FindGrade(4,10) = C
//example FindGrade(17,20) = A1 FindGrade(10,20) = B1
}
, основанный на входе, я могу фильтровать до определенной категории. Следующим шагом является определение счет в каком диапазоне на основе свойств minScore и MaxScore, а затем возвращают соответствующий Grade, и я изо всех сил, чтобы сделать это с помощью Linq
Почему бы не использовать '' && оператор с 'minscore'? 'где p.GradeRule == rule && (оценка => p.MinScore && score <= p.Maxscore)' –
И если вы хотите, чтобы полная реализация 'between' [здесь реализована Jon Skeet] (http: // stackoverflow.com/questions/1447635/linq-between-operator) –