J'ai 3 tables (et les entités correspondantes dans le modèle d'entité) jeu: Id - primay clés ... autres colonnesComment accéder aux clés étrangères dans le modèle d'entité ADO.NET?
joueur: Id - clé primaire ... autres colonnes
Gameplayer (un joueur peut participer à de nombreux jeux) gameid -> clé étrangère du jeu playerId -> clé étrangère du joueur ... autres colonnes
dans mon code, je gameid et p layerId disponible pour moi par d'autres moyens. En utilisant ceci, je veux savoir si le joueur (playerId) participe à un jeu particulier (gameId). Donc, je fais ceci: (entités est mon objet de contexte)
requête IQueryable = entities.GamePlayer.where (gp => ((gp.Game.Id == gameid) & & (gp.Player.Id = = playerId))) Si la requête renvoie une ligne, je sais que ce joueur participe à ce jeu. Je lis plusieurs blogs MSDN sur des références d'entité et je suis confus. Il semble que MSDN recommande d'abord de vérifier l'objet EntityReference pour IsLoaded et s'il n'est pas chargé, je dois charger l'entité et SEULEMENT alors je devrais l'utiliser dans la requête.
GamePlayer possède GamePlayer.GameReference et GamePlayer.PlayerReference, mais je ne peux pas vérifier si la référence est chargée car je n'ai pas d'objet GamePlayer en main. La table GamePlayer contient les deux relations 1 ... * et c'est à peu près tout. Je dois interroger GamePlayer en utilisant seulement GameId et PlayerId. Qu'est-ce que je fais mal ici? Dois-je à la place obtenir l'objet Player (ou Game) (en utilisant leur identifiant) et vérifier plutôt la collection d'entités GamePlayer? Sql était si simple. Si cela est si naïf, désolé, j'ai du mal à traduire ma requête sql en requêtes d'entités.