Kezdőoldal » Számítástechnika » Programozás » A linq lekérdezésem eredmény...

A linq lekérdezésem eredmény helyett visszaadja a lekérdezésemet sql-re lefordítva?

Figyelt kérdés

public IList<PlanesPerAirport> GetBusiestAirports()

{

var q = (from ap in this.planeRepo.GetAll()

select ap.Id).ToList();



var q2 = this.airportRepo.GetAll().

Join(q,

x => x.Id,

y => y,

(x, y) => new {

AirportId = x.Id,

PlaneId = y,

})

.GroupBy(z => z.AirportId, (x, y) => new PlanesPerAirport

{

Id = x,

Count = y.Count()

})

.OrderBy(z => z.Count);

Console.WriteLine(q2.ToString()); //ez adja vissza az sql-t

return q2.ToList(); //ez pedig nullt ad vissza

}


public class PlanesPerAirport

{

public int Id { get; set; }


public int Count { get; set; }


public override string ToString()

{

return $"{Id} with {Count} planes";

}

}



Az sql, amit visszakapok konzolon (legalábbis egy kis része). Nekem úgy tűnik tényleg az eredeti linq lefordítva, de nem értek sql-hez.


SELECT

[GroupBy1].[K1] AS [Id],

[GroupBy1].[A1] AS [C1]

FROM ( SELECT

[Extent1].[Id] AS [K1],

COUNT(1) AS [A1]

FROM [dbo].[Airports] AS [Extent1]

INNER JOIN (SELECT

1 AS [C1]

FROM ( SELECT 1 AS X ) AS [SingleRowTable1]


Soha nem láttam még ilyet, nem igazán tudtam jól meggooglizni a problémát. Valaki esetleg rá tudna nézni, mert talán egy profi első látásra észreveszi mit csinálok rosszul, én már egy órája nézem. Nagyon köszönök minden segíséget.



2019. nov. 11. 12:01
 1/5 A kérdező kommentje:
solved
2019. nov. 11. 13:03
 2/5 anonim ***** válasza:
Most megpróbálhatnád értelmesen is leírni, hogy mi a probléma.
2019. nov. 11. 13:06
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
100%
Ha egy IQueryable-n hívsz ToString-et az SQL-t fog adni, ebben semmi meglepő nincs.
2019. nov. 11. 13:20
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
A probléma az volt, hogy cross context joint akartam működésre bírni, keservesen elbuktam és inkább átírtam az egész programot, hogy csak egy context legyen, így minden működik. Tanulság: nem teljesen egyértelmű cross context joint összehozni.
2019. nov. 11. 13:31
 5/5 anonim ***** válasza:
Unit Of Work design pattern.
2019. nov. 11. 14:48
Hasznos számodra ez a válasz?

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!