Imas par nacina, najkraci i najvise u duhu L2S-a je:
Code:
var xx = from i in db.Icecreams
select new { i.Name, suma = i.Bills.Sum(b => b.Quantum) };
sto generise sledeci SQL upit:
Code:
SELECT [t0].[Name], (
SELECT SUM([t1].[Quantum])
FROM [dbo].[Bill] AS [t1]
WHERE [t1].[IcecreamId] = [t0].[IcecreamID]
) AS [suma]
FROM [dbo].[Icecream] AS [t0]
Ako bas hoces da forsiras inner join i da dobijes SQL upit kakav si naveo, onda je oblik sledeci (s tim sto se krece od tebele koja se sumira):
Code:
var xx = from b in db.Bills
group b by b.Icecream.Name into gb
select new { Name = gb.Key, suma = gb.Sum(a => a.Quantum) };
sto generise sledeci skript
Code:
SELECT SUM([t0].[Quantum]) AS [suma], [t1].[Name]
FROM [dbo].[Bill] AS [t0]
INNER JOIN [dbo].[Icecream] AS [t1] ON [t1].[IcecreamID] = [t0].[IcecreamId]
GROUP BY [t1].[Name]
U oba slucaja ces dobiti isti rezultat (mozda drugacije sortiran posto nemas orderby a ova dva primera koriste razlicite tabele kao polazne)
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić