Bu Sql ifadesine sahibimÖnce bu SQL'i EF 4 Kodu için lambdaya dönüştürün
SELECT * FROM Game
INNER JOIN Series ON Series.Id = Game.SeriesId
INNER JOIN SeriesTeams ON SeriesTeams.SeriesId = Series.Id
INNER JOIN Team ON Team.Id = SeriesTeams.TeamId
INNER JOIN TeamPlayers ON TeamPlayers.TeamId = Team.Id
INNER JOIN Player ON Player.Id = TeamPlayers.PlayerId
WHERE AND Game.StartTime >= GETDATE()
AND Player.Id = 1
Bu lambda ifadesine dönüştürmek istiyorum.
Bu şekilde çalışıyor.
Bir oyun sadece 1 seriye katılabilir, ancak bir seri elbette birçok oyuna sahip olabilir. Bir seride birçok takım olabilir ve bir takım birçok seriye katılabilir. Bir takım birçok takımda oynayabilir ve bir takımın birçok oyuncusu vardır.
SeriesTeams ve TeamPlayers, EF tarafından seri/takımlar ile Takımlar/Oyuncular
arasındaki referansları saklı tutmak için hazırladığımız çoktan çoğa çoklu çizelgelerdir. Şimdiden teşekkürler ...
Edit: kullanıyorum EF 4 CTP5 ve cevabı lambda işlevi olarak kullanmak ister, ya da daha kolaysa linq ...
Merhaba. Denerim. EF tarafından üretilen SQL deyimi, orjinal sql deyimim kadar "güzel" değil. Bir yolu, tam olarak farklı tablolardan istediğim bilgiyi veren bir Görünüm oluşturmak ve bunun yerine bunu yürütmek ve sonra bu özel varlığı bu sonuçla eşleştirmek için oluşturmak olabilir. Yukarıdakileri yapmak kadar güzel olmaz, ama veri tabanına karşı daha iyi bir performans verebilirim. Fazladan çalışmaya değecek bir performans testi yapmak zorundayım. –