Linq to SQL простой SUM - PullRequest
       8

Linq to SQL простой SUM

1 голос
/ 13 февраля 2012

Мне предложили от друга следующий код

var tmp = из allCourses в _db.tblCourseNeededHours orderby allCourses.tblCourse.CourseName где allCourses.Semester == semester выберите allCourses;

returntmp.Sum (x => x.NeededHoursPerWeek);

, но я получаю эту ошибку

Невозможно неявно преобразовать тип 'double' в 'System.Linq.IQueryable

Любая идея, как это исправить?

enter image description here

public IQueryable FindSumAllCourseNeededHoursInSemester (string semester)

Ответы [ 2 ]

5 голосов
/ 13 февраля 2012

Как насчет этого:

var sum = FindAllCourseNeededHoursInSemester(mySemester).Sum(course => course.NeededHours)

В этой статье MSDN есть хороший учебник по некоторым распространенным задачам LINQ:

http://code.msdn.microsoft.com/windowsdesktop/101-LINQ-Samples-3fb9811b

2 голосов
/ 13 февраля 2012

Крис правильный, если вы хотите получить итоговую сумму, если вы хотите получить ее по названию курса, используйте GroupBy:

var hours = FindAllCourseNeededHoursInSemester(mySemester)
    .GroupBy(g => g.CourseName)
    .Select(c => new { c.Key, c.Sum(a => a.NeededHours) } );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...