Как я могу умножить и суммировать некоторые свойства с помощью Linq

#c# #.net #linq-to-sql

#c# #.net #linq-to-sql

Вопрос:

У меня такая же проблема. который я хочу, чтобы оценка caculator для студента. Я сделал:

 var cosrse = from ssh in cn.DB.ScoreSheets 
             where ssh.CourseID == CourseID 
             select new 
             { 
                 Student = ssh.Student.LastName  " "  ssh.Student.FirstName, 
                 ssh.Student.StudentID, Assignment = ssh.Assignment,
                 Project = ssh.Project,
                 ssh.Midterm,
                 ssh.Endterm,
                 ssh.Practice,
                 FinalMatch = ssh.Midterm * 0.2   ssh.Project * 0.3   
                              ssh.Endterm * 0.5 //  new a propety FinalMatch 
              };
 

Я хочу добавить столбец FinalMatch и назначить: ssh.Midterm * 0.2 ssh.Project * 0.3 ssh.Endterm * 0.5 но я не получаю никакого результата для FinalMatch.
Здесь у меня есть выбор из двух таблиц: [Student], [ScoreSheet] у всех таблиц есть записи. Я хочу ввести оценку для совпадения результатов student и caculater.
Ждем ваших решений
С уважением, Уильям!

Комментарии:

1. Если вы (временно) удалите поле FinalMatch, получите ли вы какие-либо результаты? Я думаю, может быть, это не вычисление.

2. В качестве примечания Project = ssh.Project, бесполезно, просто сделайте ssh.Project,

3. Я попробовал тот же запрос, что и вы, но я получаю результаты вы уверены, что во всех строках для оценки есть записи? Равно FinalMatch нулю или чему-то еще…

4. Являются Midterm , Project , или Endterm обнуляемыми значениями? Если это так, имеет ли какая-либо из записей значение null, а не число?

5. спасибо всем, я исправил эту ошибку, как сказал Тибодо, тогда, если значение Midtern, Project или Endtern равно нулю => результат равен нулю. Пример 10 null = null

Ответ №1:

Если это переведено в SQL, вы можете получить несколько неприятных результатов 0 (ноль), когда одно или несколько значений равны null .