5
  • J'ai créé une vue SQL qui joint quelques tables et, lorsqu'elle est testée dans SQL Manager, elle fournit les données correctes (si cela fait une différence, ce sont des jointures complexes).
  • Dans MVC, j'ai créé un modèle de données d'entité (données en premier), puis ajouté le code génération.
  • J'ai une requête LINQ dans un contrôleur qui génère une page idex.

Tous les éléments MVC de base. Lorsque j'exécute l'application, je reçois des enregistrements en double.Entity Framework Résultats de requête Dupliquer

Pour qualifier davantage, si une commande a plus d'une ligne, elle retourne le premier enregistrement pour chaque ligne dans la "commande".

SQL Results 
Order, Line, Part 
12345, 1, 3829138120 
12345, 2, 1238401890 

MVC/EF Results 
Order, Line 
12345, 1, 3829138120 
12345, 1, 3829138120 

Des idées sur la cause de ce problème?

+0

Peut-être afficher des segments de code réduits? En particulier la requête LINQ. – Kit

Répondre

5

Vous devez vérifier les attributs de la clé d'entité. Je vois le résultat de votre requête et vous devez marquer comme clé primaire l'ordre et la ligne et je pense que vous avez oublié l'ordre des marques comme clé.

+3

Merci pour la perspicacité, danihp. ** Résolution **: Pour résoudre le problème, j'ai ouvert le modèle de données d'entité (fichier edmx) et sélectionnez la propriété Champ _ (Ligne de commande) _ dans le jeu d'entités * (SalesOrders) *. Ouvrez les propriétés du champ et définissez la valeur de la clé d'entité sur true. (J'ai également trouvé de nombreux champs qui ont été définis comme des clés d'entité qui ne devraient probablement pas être.) – Pete

+0

Salut Pete, une fin heureuse ... ou commencer. Bonne chance avec votre projet et merci d'expliquer la résolution détaillée. – danihp

Questions connexes