Je construis un contrôleur en utilisant un échafaudage, à partir d'un modèle de base de données.Modèle Premier échafaudage ne fonctionnant pas dans ASP.NET MVC3 Application
La base de données dans le backend est SQL Azure, bien que je ne sache pas si cela compte.
J'ai entré la chaîne de connexion, et testé, et cela fonctionne. J'ai ajouté un nouveau modèle de données d'entité ADO.Net à mes modèles, et il a créé les mappages, et je peux voir la structure de la table et les FK lorsque j'ouvre le modèle créé, et cela semble correct.
J'ai construit la solution pour que le nouveau modèle soit disponible.
Je me suis assuré d'avoir la dernière version d'Entity Framework, et j'ai téléchargé le MvcScaffolding de NuGet.
Quand j'ajouter nouveau contrôleur avec lecture/écriture des actions et des vues, en utilisant Entity Framework, je reçois l'erreur suivante:
Le type « Website.Models.App.Application » n'a pas été mis en correspondance. Vérifiez que le type n'a pas été explicitement exclu en utilisant la méthode Ignorer ou l'annotation de données NotMappedAttribute. Vérifiez que le type a été défini en tant que classe, qu'il n'est pas primitif, imbriqué ou générique et qu'il n'hérite pas d'EntityObject. Lorsque j'essaie d'ajouter le même contrôleur en utilisant MvcScaffolding: Contrôleur avec des actions de lecture/écriture et des vues, en utilisant le code d'accès aux données EF, je ne reçois pas d'erreur à ce stade, mais lorsque je navigue vers la vue Index du nouveau contrôleur, je reçois la même erreur.
Des idées sur ce qui cause cette erreur? J'ai cherché longtemps une solution mais tout est vide. Je vous remercie.
Mise à jour: J'ai trouvé le code suivant dans les AppModel.Designer.cs, le fichier cs attaché au modèle edmx: public partial class UserApplication: EntityObject Je suppose que je ne peut pas simplement supprimer l'EntityObject là-dedans, corre ct? Il semble que toutes les classes partielles représentant mes tables héritent de EntityObject. Qu'est-ce qui a causé cela et comment puis-je le réparer? Toute idée sur le problème sera très appréciée. Je vous remercie. – Bassel
Renommez cette entité en disant test d'application et compilez, puis réessayez. Je me demande si le nom cause un problème. –
hmm que voulez-vous dire par renommer l'entité? devrais-je renommer la table appelée application dans la base de données en test d'application, puis générer à nouveau l'entité? – Bassel