2012-06-18 6 views
0

Quelqu'un a-t-il des conseils pour calculer des pourcentages dans Linq to Entities?Linq to Entities Pourcentages

Je suppose qu'il doit y avoir un moyen plus efficace que de retourner 2 résultats et de calculer en mémoire. Peut-être une utilisation inventive de laisser ou dans?

EDIT


Merci Mark pour votre commentaire, voici un extrait de code, mais je pense que cela se traduira par 2 résultats de base de données:

int passed = (from lpt in this.PushedLearnings.Select(pl => pl.LearningPlanTask) 
where lpt.OnlineCourseScores.Any(score => score.ActualScore >= ((lpt.LearningResource.PassMarkPercentage != (decimal?)null) ?lpt.LearningResource.PassMarkPercentage : 80)) 
select lpt).Count(); 

int total = (from lpt in this.PushedLearnings.Select(pl => pl.LearningPlanTask) 
select lpt).Count(); 

double percentage = passed * 100/total; 
+1

Pouvez-vous poster le code que vous avez? –

+0

Merci @ Markarkers J'ai découvert un échantillon de code. –

Répondre

2

Si vous utilisez LINQ aux entités et écrire Quelque chose le long des lignes de select x * 100.0/y dans votre requête, alors cette expression sera convertie en SQL et exécuté dans la base de données. Ce sera efficace.