Mes chaînes de connexion sont les suivantes:
<add name="RollCallDBEntities" connectionString="metadata=res://System.Engine/RollcallNS.csdl|res://System.Engine/RollcallNS.ssdl|res://System.Engine/RollcallNS.msl;provider=Devart.Data.Oracle;provider connection string="User Id=user;Password=password;Server=127.0.0.1;Direct=True;Sid=ORCL"" providerName="System.Data.EntityClient" />
mon code est le suivant:
using (var db= new RollCallDBEntities()) //ok
{
var query = db.TBL_ROLLCALL.ToList(); //Unable to load the specified metadata resource.
}
mon assemblée:
System.Engine
Quelqu'un a des idées?
ces liens n'ont pas résolu mon problème:
MetadataException: impossible de charger la ressource de métadonnées spécifiée
structure de l'entité Impossible de charger la ressource de métadonnées spécifiée
Entity Framework: Impossible de charger la ressource de métadonnées spécifiée
Impossible de charger la ressource de métadonnées spécifiée
Reportez-vous à http://forums.devart.com/viewtopic.php?t=22092 .
Si cela ne vous aide pas, veuillez préciser:
Je recevais une exception comme celle-ci. Le problème était que j'ai renommé mon fichier .edmx
et que j'ai oublié de changer le nom dans la chaîne de connexion du fichier Web.config
:
metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;
La solution la plus simple qui a résolu ce problème pour moi était de supprimer le dossier obj, situé au même niveau que le dossier bin et relancer l'application.
J'ai utilisé EntityFramework 6.0 dans une solution comprenant plusieurs projets, tels qu'un projet de niveau WebSite et un projet de niveau DataAccess. Dans ma solution, les migrations doivent être effectuées dans un projet de niveau DataAccess.
Lorsque j'exécute la commande Add-Migration dans la console Package Manager, déclenché "Impossible de charger la ressource de métadonnées spécifiée".
Enfin, j'ai découvert que je définissais le projet de niveau WebSite en tant que projet "Démarrage" et que ce déclencheur dépassait l'exception. Il semble que le système commence par vérifier automatiquement les paramètres de la chaîne de connexion dans le projet de démarrage. Et ma chaîne de connexion de données définie dans le projet de niveau WebSite est
"metadata = res: // /ApplicationEntities.csdl|res:// / ApplicationEntities.ssdl | res: //*/ApplicationEntities.msl; fournisseur = System.Data.SqlClient; fournisseur connexion chaîne =" source de données = catalogue initial = YourDatabaseName; sécurité intégrée = True; MultipleActiveResultSets = True; App = EntityFramework ""
ce qui n'est pas correct pour le code en premier.
La chaîne de connexion correcte devrait être:
"Source de données = .; Catalogue initial = YourDatabaseName; Integrated Security = True"
En conclusion, vérifiez toujours la section "connectionStrings" de web.config dans le projet de solution "StartUp".
J'ai eu un produit similaire avec devart mysqlconnect - peut-être que cela pourrait aider.
J'ai un projet appelé EFModels qui contient le fichier .edml et qui est référencé par d'autres projets.
J'ai remarqué que la version Release d'un projet référençant EFModels contenait le fichier EFModels.dll, mais sa taille était beaucoup plus petite (127 Ko contre 437 Ko) que la version Debug d'EfModels.dll. Le déplacement de EFModels.dll de la version de débogage vers la version de publication a résolu le problème car, pour une raison quelconque, la version de publication n’intègrait pas le ssdl, etc.
J'ai également rencontré ce problème et c'est parce que j'ai oublié de faire référence au projet contenant le fichier EDMX.
J'ai également rencontré ce problème et c'est parce que je passais de Entity Framework Model First à Entity Framework Code First et que j'avais oublié de changer la chaîne de connexion EDMX en chaîne de connexion 'normale'.
Si vous ne savez pas quel chemin utiliser pour vos fichiers de métadonnées, vous pouvez le savoir en compilant votre application, puis en ouvrant la DLL à l'aide de dotPeek de JetBrains et en recherchant le fichier .csdl, etc. .