Kezdőoldal » Számítástechnika » Programozás » Hogyan alakítható át ez az...

Hogyan alakítható át ez az SQL kifejezés LINQ-ba?

Figyelt kérdés

A következő SQL kifejezést szeretném átalakítani LINQ-ba. A lényeg,hogy az összes kijelölt receptből összesítve vegye ki az alapanyagokat (alapanyag és mértékegység szerint). Tehát ha az egyik ételhez kell 20g só, egy másikhoz 30g, egy harmadikhoz pedig 5 dkg, akkor ez nekem 50g só és 5 dkg sóként jelenjen meg. Az SQL kifejezésem ez:

SELECT CONVERT(varchar, SUM(Receptek.Mennyiseg)) + ' ' + Mertekegysegek.Mertekegyseg + ' ' + Hozzavalok.Hozzavalo AS Expr1

FROM Fogasok INNER JOIN

Receptek ON Fogasok.FogasID = Receptek.FogasID INNER JOIN

Hozzavalok ON Receptek.HozzavaloID = Hozzavalok.HozzavaloID INNER JOIN

Mertekegysegek ON Receptek.MertekegysegID = Mertekegysegek.MertekegysegID

GROUP BY Hozzavalok.Hozzavalo, Mertekegysegek.Mertekegyseg

ORDER BY Hozzavalok.Hozzavalo


Amit pedig összehoztam LINQ-ban, az ez. Az alapanyagokat itt egy recepten belül összesíteni tudja, de az összes receptből nem. Hol lehet a hiba?


var hozzávalók = (from r in db.Receptek

join h in db.Hozzavalok on r.HozzavaloID equals h.HozzavaloID into csoport1

from cs1 in csoport1.DefaultIfEmpty()

join m in db.Mertekegysegek on r.MertekegysegID equals m.MertekegysegID into csoport2

from cs2 in csoport2.DefaultIfEmpty()

where hetiMenüLista.Contains(r.FogasID)

group r by new { anyagnev = cs1.Hozzavalo, mértékegység = cs2.Mertekegyseg, mennyiség = r.Mennyiseg } into g

select new

{

Elnevezés = g.Key.mennyiség == null ? g.Key.anyagnev : SqlFunctions.StringConvert(g.Sum(r => r.Mennyiseg)).Trim() + " " + g.Key.mértékegység + " " + g.Key.anyagnev

}).ToList();



2014. ápr. 13. 10:48
Sajnos még nem érkezett válasz a kérdésre.
Te lehetsz az első, aki segít a kérdezőnek!

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!