Comment puis-je configurer Entity framework dans le projet de Bibliothèque de classes
j'ai créé un projet de bibliothèque de classes qui contiennent l'objet entity framework qui sera responsable de la commune de la couche d'accès aux données pour mon projet plusieurs.après l'ajout de la dll générée fichier de mon projet de domaine et l'utilisation de l'entité objet de projet de bibliothèque de classes, im face avec le problème suivant.
Pas de chaîne de connexion nommée " ABC " pourrait être trouvé dans le fichier de config.
j'ai mis les Métadonnées Artefact de traitement de la propriété de l'edmx à Intégrer à la Sortie de l'Assemblée
App.Config balisage
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="ABC" connectionString="metadata=res://*/Entity.ABC.csdl|res://*/Entity.ABC.ssdl|res://*/Entity.ABC.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\ABC.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>
</configuration>
Et Entités code sont comme suit
public ABC_IntegrationEntities()
: base("name=ABC")
{
}
une chose de plus, je suis accédant à la base de données de datadirectiory "App_Data"
je suis de référencement, le blog de dotnetcurry.com.
http://www.dotnetcurry.com/showarticle.aspx?ID=617
Merci d'avance!
Salut rob, j'ai mis à jour la ma question, veuillez jeter un oeil.Merci
La connectionString dans le fichier de config qui a actuellement le nom de "Gumu_IntegrationEntities" doit avoir le nom "ABC" à la place.
OriginalL'auteur Nik's | 2014-08-20
Vous devez vous connecter pour publier un commentaire.
Basé sur le lien vous a donné, vous avez probablement rater cette partie.
Explication:
Lorsque vous créez une bibliothèque et de la bibliothèque est référencé à partir d'un autre projet, EF lire la config qui est relatif au projet de démarrage. Vous pouvez effectuer l'une des opérations suivantes.
domaine le projet de démarrage dans la solution? Et n'projet de démarrage avoir la config qui a chaîne de connexion de l'information?
Non, nous ne sommes pas ajouté toute la chaîne de connexion dans le domaine du projet ,oui, c'est un projet de démarrage.
ensuite, vous devez ajouter le fichier de config dans le domaine du projet (début du projet). Ensuite fournir la chaîne de connexion de l'information et de l'EF section
vous avez encore le besoin d'avoir une chaîne de connexion qui se réfère à la base de données locale fichier, soit dans le projet de démarrage, ou par programmation de le mentionner dans le dbcontext de connexion, mais parce que vous avez mentionné explicitement cette
base("name=ABC")
, qui signifie EF attend une chaîne de connexion nom dans le démarrage du projet de fichier de configOriginalL'auteur Yuliam Chandra
J'ai travaillé sur la création de la bibliothèque de la classe qui implémente tous les objectifs EF (Entity Framework) de fonctionnalité et de suivre le processus décrit dans le http://www.dotnetcurry.com/showarticle.aspx?ID=617, mais c'était encore donnant des erreurs.
Le problème a été incompatibilité de version entre EF cadre et .Net framework. J'ai été en utilisant .Net framework 5.0 mais EF de la version 6.0. Après la mise à jour dernière version de .Net framework, tout a commencé bien. Toujours s'assurer EF et la version de la Dll + EF et de tester des versions de projet sont toujours les mêmes.
J'ai aussi téléchargé et installé EFTools6.1.3ForVS2013, si ça peut aider quelqu'un. Autre chose à retenir est que vous devez installer Entity Framework de Nuget dans tous les projets que les références à l'EF et de copier Dll de connectionstring de Dll fichier de configuration dans le projet de test du fichier de configuration.
Espère que cela aide quelqu'un !!!
Merci,
OriginalL'auteur Anki
Copie de votre chaîne de connexion SQL à partir de la bibliothèque de projet de fichier de configuration et le coller dans le projet principal de fichier de configuration qui est de votre projet de démarrage. Qui permettra de résoudre votre problème.
Aussi, copie DbProviderFactories à partir de la bibliothèque de projet pour le projet principal de fichier de configuration.
OriginalL'auteur Nikhil Dinesh
Changer le nom de l'entité de la chaîne de connexion que vous utilisez dans le constructeur de votre classe de contexte:
Assurez-vous que vous avez votre fichier de configuration d'application ajoutée à l'assemblée où vous exécutez votre code d', j'.e
app.config
de vous PE deweb.config
de votre site webDésolé Andrew ma connexion Nom de la chaîne ABC,wrogly posté.
ok, alors assurez-vous que vous vous référez à la correcte application.fichier de config(pas celui où votre modèle est, mais celui d'une assemblée qui exécute le code).
et fondée sur la " Entité.ABC.csdl', je suppose que votre modèle 'ABC' est situé dans le 'Entité' sous-dossier de votre projet
Oui Andrew nous avons la bonne csdl situé dans le projet de bibliothèque de classes et nous sommes accéder à l'application.fichier de configuration pour la configuration de l'edmx. merci
OriginalL'auteur Andrew