Linq запрос с группой, получая процент - PullRequest
1 голос
/ 12 января 2010

Я должен рассчитать процент в группе по предложению. Более подробно мне нужно рассчитать процент ControlForms, которые имеют Status = 'False'. Статус находится в таблице checkResult.

var items = (from controlForm in dataContext.ControlForms
             join controlFormStatus in dataContext.ControlFormStatus on controlForm.FK_ControlFormStatus equals controlFormStatus.Id
             join docCheck in dataContext.DocumentChecks on controlForm.Id equals docCheck.FK_ControlForm
             join checkResult in dataContext.CheckResults on docCheck.FK_CheckResult equals checkResult.Id
             where controlForm.FK_ControlCycle.ToString().Equals(controlCycleId) & (
             controlFormStatus.Description.Equals(Constants.ControlFormStatusTestControlOwner)
             | controlFormStatus.Description.Equals(Constants.ControlFormStatusApprovalProcessOwner))
             group controlForm by new { controlForm.Id, controlForm.FK_ControlCycle, controlForm.FK_SampleNode, controlForm.FK_Control, /*FUNCTION*/} into ctrlForm
                         select new ControlFormReportPartialResults(ctrlForm.Key.Id, ctrlForm.Key.FK_ControlCycle, ctrlForm.Key.FK_SampleNode, ctrlForm.Key.FK_Control, ValueFunction));

Может ли кто-нибудь подсказать мне, что мне нужно, кроме / ФУНКЦИЯ /? Или есть ли другой способ решить проблему? Любая помощь действительно приветствуется!

Спасибо заранее, Дарио Занелли

1 Ответ

1 голос
/ 26 января 2010

Замените «коллекцию» соответствующей переменной, содержащей элементы, для которых вы хотите рассчитать процент:

collection.Select(item => item.Status == false).Count() / collection.Count() * 100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...