2010-02-11 21 views
7

so ist die Geschichte so.EDMX Verbindungszeichenfolge

Ich habe ein Projekt namens PA.DLL, die ein Entity-Modell innerhalb der Datei (EDMX) haben.

In einem anderen Projekt, das ich auf die PA.DLL verweise, kopierte ich die Verbindungszeichenfolge, die erstellt wurde (automatisch) beim Erstellen der EDMX-Datei in der Hauptanwendung app.config.

aber wenn ich die folgenden Zeilen laden und auszuführen:

using (PAEntities analytix = new PAEntities()) 
      { 
... 
} 

ich die folgende Fehlermeldung erhalten:

System.ArgumentException: The specified default EntityContainer name 'PAEntities' could not be found in the mapping and metadata information. 

Hat jemand eine Ahnung, was die Ursache für diesen Fehler hat? Diese

ist, wie meine Verbindungszeichenfolge konfiguriert ist:

<add name="PAEntities" 
    connectionString="metadata=res://*/PAEntities.csdl|res://*/PAEntities.ssdl|res://*/PAEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=XSXSX;Initial Catalog=PA;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 

Dank

Antwort

3

Eine Lösung ist die Verbindungszeichenfolge in die Konfigurationsdatei des Projekts raubend Ihre DLL zu platzieren.
Die andere besteht darin, die Verbindungszeichenfolge in Code zu übergeben (verwenden Sie den parametrisierten Konstruktor von PAEntities).

7

Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Entitätdatenmodelldatei (.edmx) und klicken Sie auf "Öffnen mit". Ein Dialogfeld öffnet sich, um ein Programm auszuwählen, mit dem Sie die Datei öffnen können. Wählen oder Doppelklick auf 'XML (Text) Editor'.

Nun sehen Sie sich die XML-Version der EDM-Datei an, in der Sie den Namen 'EntityContainer' einfach bearbeiten können.

Wenn Sie die Verbindungszeichenfolge in der Datei webconfig geändert haben, vergewissern Sie sich, dass 'DefaultContainerName' der Name im Abschnitt 'EntityContainer' in dieser XML-Datei ist.

Wenn Sie den defaultContainerName in * .Designer.cs aktualisieren, wird die XML-Datei normalerweise nicht aktualisiert. Sie müssen es also manuell tun.

Verwandte Themen