3 votes

Erreur de nom d'objet non valide dans Entity Framework

J'utilise VS2008 pour me connecter à une base de données du serveur SQL afin de la remplir en C#. Tout se passe plutôt bien, je suis capable d'interroger, d'insérer et de mettre à jour toutes les tables de ma base de données avec succès, sauf une. Chaque fois que j'essaie d'interroger ou d'insérer dans une table, j'obtiens l'erreur suivante :

Message = "Invalid object name 'DB_NewModelStoreContainer.DATATYPE'."

la requête qui a généré cette erreur est :

var test3 = (from o in context.DATATYPE
where o.DATETYPE_NAME == "Single"
select o).First();
(yes I know it should be DATATYPE, but that is not the problem =) )

Chaque fois que j'ai ajouté la base de données à mon projet, pour une raison quelconque, elle a marqué chaque attribut de la table DATATYPE comme une clé primaire. Je suis allé dans le xml du .edmx et j'ai corrigé cela mais je reçois toujours cette erreur et je ne peux pas trouver pourquoi ><. Toute aide serait très appréciée ! Merci d'avance.

0voto

Ruchika rana Points 21

Pour travailler avec EntityFramework, il faut mentionner clairement la clé primaire et la clé étrangère, si elles existent.

Si vous n'avez pas de clé primaire, faites de la colonne unique une clé primaire, cela devrait fonctionner. Je me demande comment vous pouvez insérer un enregistrement sans clé primaire.

Dans le concepteur d'edmx, vous avez peut-être manqué quelque chose ou peut-être que certains mappings ont été vissés après des changements. Donc, modifiez les tables dans votre base de données pour attribuer la clé primaire à chaque table et puis essayez de générer l'edmx à partir de zéro.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X