Wie konfiguriere ich das Entity-Framework in der Klasse Bibliotheksprojekt?

8

Ich habe ein Klassenbibliotheksprojekt erstellt, das das Entitätsrahmenobjekt enthält, das für den gemeinsamen Datenzugriffslayer für mein Mehrfachprojekt verantwortlich ist. Nach dem Hinzufügen der generierten DLL-Datei zu meinem Domänenprojekt und dem Verwenden des Entitätsobjekts aus dem Klassenbibliotheksprojekt Ich bin mit dem folgenden Problem konfrontiert.

In der Konfigurationsdatei der Anwendung wurde keine Verbindungszeichenfolge mit dem Namen 'ABC' gefunden.

Ich habe die Metadaten-Artefakt-Verarbeitungseigenschaft von edmx auf In Ausgabe-Assembly einbetten

festgelegt

App.Config-Markup

%Vor%

Und Entitäten Code sind wie folgt

%Vor%

noch eine Sache, ich zugreife Datenbank von datadirectoriory "App_Data"

Ich verweise auf den Blog von dotnetcurry.com.

Ссылка

Vielen Dank im Voraus!

    
Nik's 20.08.2014, 13:21
quelle

4 Antworten

5

Basierend auf dem Link , den Sie angegeben haben, vermissen Sie wahrscheinlich diesen Teil.

  

Nun können Sie in diesem Projekt entweder Ihre eigene .config-Datei erstellen   Fügen Sie den Connectionstring-Eintrag Ihres Modells hinzu oder einfach kopieren   die App.config-Datei, die Sie im MyEntityModel-Projekt erstellt haben, in   Ihr Konsolen-App-Projekt. Wir werden den einfacheren Weg annehmen. Rechtsklick   das Projekt & gt; Vorhandenes Element hinzufügen & gt; Gehe zum MyEntityModel-Projekt und   Fügen Sie die Datei App.config hinzu.

Erläuterung:

Wenn Sie eine Bibliothek erstellen und die Bibliothek von einem anderen Projekt referenziert wird, liest EF die Konfiguration, die sich auf das Startprojekt bezieht. Sie können einen der folgenden Schritte ausführen.

  • Kopiere die Konfiguration aus der Bibliothekskonfiguration (kopiere die Datei und füge sie in das Projekt ein)
  • Erstellen Sie eine neue Konfiguration, aber kopieren Sie die Informationen zur Verbindungszeichenfolge und andere EF-bezogene Abschnitte
  • Fügen Sie eine vorhandene Konfiguration hinzu, indem Sie ein vorhandenes Element hinzufügen und es als Link zur Bibliothekskonfiguration hinzufügen
Yuliam Chandra 20.08.2014, 13:34
quelle
1

Ich habe daran gearbeitet, eine Klassenbibliothek zu erstellen, die alle Funktionen von EF (Entity Framework) implementiert und den in beschriebenen Prozess befolgt Ссылка aber es gab immer noch Fehler.

Das Problem lag in der fehlenden Übereinstimmung zwischen dem EF-Framework und dem .Net-Framework. Ich habe .Net Framework 5.0 verwendet, aber EF Version war 6.0. Nach der Aktualisierung der neuesten Version von .Net-Framework hat alles gut funktioniert. Immer sicherstellen, dass EF und Dll Version + EF und Testprojektversionen immer gleich sind.

Ich habe auch EFTools6.1.3ForVS2013 heruntergeladen und installiert, wenn das irgendjemandem hilft. Eine andere Sache, an die Sie sich erinnern sollten, ist, dass Sie Entity Framework von Nuget in allen Projekten installieren müssen, die auf EF Dll verweisen, und Verbindungszeichenfolge aus der Dll-Konfigurationsdatei in der Konfigurationsdatei des Testprojekts kopieren.

Hoffe das hilft jemandem !!! Danke,

    
Anki 18.11.2016 01:26
quelle
0

Ändern Sie den Namen der Entitätsverbindungszeichenfolge, die Sie im Konstruktor Ihrer Kontextklasse verwenden:

%Vor%

Stellen Sie sicher, dass Ihre Anwendungskonfigurationsdatei zu der Assembly hinzugefügt wurde, in der Sie Ihren Code ausführen, d. h. app.config Ihres PE von web.config Ihrer Website

    
Andrew 20.08.2014 13:35
quelle
0

Kopieren Sie Ihre SQL-Verbindungszeichenfolge aus der Konfigurationsdatei des Bibliotheksprojekts und fügen Sie sie in die Konfigurationsdatei des Hauptprojekts ein, die Ihr Startprojekt ist. Welches dein Problem lösen wird.

Kopieren Sie auch DbProviderFactories aus dem Bibliotheksprojekt in die Konfigurationsdatei des Hauptprojekts.

    
Nikhil Dinesh 28.03.2018 05:18
quelle