J'ai cette déclaration SqlConvertir ce SQL lambda pour EF 4 Code premier
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
que je veux être converti en une expression lambda.
Voici comment cela fonctionne.
Un jeu ne peut être joint qu'à une série, mais une série peut bien sûr avoir beaucoup de jeux. Une série peut avoir plusieurs équipes et une équipe peut rejoindre plusieurs séries. Un joueur peut jouer dans plusieurs équipes et une équipe a beaucoup de joueurs.
SeriesTeams et TeamPlayers ne sont que le nombre à plusieurs tables créées par EF pour tenir les références entre les séries/équipes et équipes/joueurs
Merci à l'avance ...
Edit: J'utilise le EF 4 CTP5 et voudrait avoir la réponse en tant que fonctions lambda, ou en linq si c'est plus facile ...
Bonjour. Je vais l'essayer. Je suppose que l'instruction SQL produite par EF n'est pas aussi "belle" que mon instruction sql originale. Une façon pourrait être de créer une vue qui me donne exactement l'information que je veux à partir des différentes tables, et de l'exécuter à la place, puis de créer cette entité spéciale pour correspondre à ce résultat. Ne serait pas aussi bien que de faire ce qui précède, mais pourrait me donner de meilleures performances contre la base de données. Je dois faire un test de performance pour décider si ça vaut le travail supplémentaire. –