คำสั่ง LINQ เทียบเท่ากับ sum query ใน SQL [ซ้ำ]
Aug 19 2020
ฉันมีตาราง SQL พร้อมข้อมูล ::
UserId POINTS
121 5
122 6
121 4
122 3
121 1
เพื่อคำนวณผลรวมของคะแนนสำหรับ userid ที่เกี่ยวข้อง
SELECT SUM(POINTS) FROM TBL_SCORED_POINTS WHERE UserId = 121;
ฉันจะแปลงสิ่งนี้เป็นLINQ
แบบสอบถามได้อย่างไร
public class ScoredPointModel
{
public int UserId { get; set; }
public int ScoredPoints { get; set; }
}
ในLINQ
แบบสอบถามฉันต้องสร้างโดยที่ clause dynamic ฉันหมายถึงว่า clause value จะมาจากผู้ใช้ที่ไหน ฉันจะทำเช่นนี้ได้อย่างไร?
คำตอบ
1 LeeEvans Aug 19 2020 at 18:17
นี่คือสิ่งที่คุณกำลังมองหา:
var total = ScoredPointModels.Where(spm => spm.UserId == userId).Sum(spm => spm.ScoredPoints);