06. oktober 2009 - 15:44Der er
2 kommentarer og 1 løsning
Linq query
Hey
Jeg kan ikke finde ud af at bruge sum funktionen ordentelig. håber der er en som kan hjælpe mig. hvordan kan jeg gøre det, i dette udtræk ?
DataAccessDataContext db = new DataAccessDataContext(); var result = from p in db.tblStoreOrderLines where p.tblStoreUsers.UserSchoolID == _schoolID && p.tblStoreStudents.StudentDeleted == 0
orderby p.StudentName select new { UserID = p.UserID, StudentID = p.StudentID, StudentName = p.tblStoreStudents.StudentName, UserPhone = p.tblStoreUsers.UserPhone, StudentClass = p.tblStoreStudents.StudentClass, UserMoneyTotal = --SUM PÅ DETTE FELDT-- };
using System; using System.Collections.Generic; using System.Linq;
namespace E { public class Order { public int StudentId { get; set; } public decimal Amount { get; set; } } public class Student { public int Id { get; set; } public string Name { get; set; } } public class Program { public static void Main(string[] args) { List<Order> ordr = new List<Order>(); ordr.Add(new Order { StudentId=1, Amount=10.00m }); ordr.Add(new Order { StudentId=2, Amount=20.00m }); ordr.Add(new Order { StudentId=2, Amount=30.00m }); List<Student> stud = new List<Student>(); stud.Add(new Student { Id=1, Name="A A" }); stud.Add(new Student { Id=2, Name="B B" }); Console.WriteLine("No grouping:"); var q1 = from o in ordr join s in stud on o.StudentId equals s.Id orderby s.Name select new { StudentId=s.Id, Name=s.Name, Amount=o.Amount }; foreach(var r1 in q1) { Console.WriteLine(r1.StudentId + ", " + r1.Name + ", " + r1.Amount); } Console.WriteLine("Grouping:"); var q2 = from o in ordr group o by o.StudentId into g join s in stud on g.Key equals s.Id orderby s.Name select new { StudentId=g.Key, Name=s.Name, Amount=g.Sum(o => o.Amount) }; foreach(var r2 in q2) { Console.WriteLine(r2.StudentId + ", " + r2.Name + ", " + r2.Amount); } Console.ReadKey(); } } }
DataAccessDataContext db = new DataAccessDataContext(); var result = from p in db.tblStoreOrderLines where p.tblStoreUsers.UserSchoolID == _schoolID && p.tblStoreStudents.StudentDeleted == 0
Ingen grund til normal SQL når man har LINQ ved hånden :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.