5 Stimmen

Fehler 11 und 2002: "Der EntityContainer ... existiert nicht im MetadataWorkspace"

Ich erhalte die folgende Fehlermeldung, wenn ich versuche, meine Webanwendung zu kompilieren:

Fehler 11 Fehler 2002: Der EntityContainer 'SomeEntitieContainerName' für das als Teil dieser MSL angegebene konzeptionelle Modell existiert nicht im MetadataWorkspace.

Ich habe nur eine *.edmx mit dem Namen BancorlineDB.edmx, dessen "Entity Container Name" auf "BancorLineEntidades" gesetzt ist.

9voto

Caesar Punkte 460

Nur mein Cent für diesen Fehler:

Bei der Arbeit an einem Oracle-DB-Schema habe ich die Größe eines Primärschlüsselfeldes in einer Tabelle geändert. Dieses Feld ist ein Fremdschlüssel für eine andere Tabelle. Ich habe vergessen, die Größe für diese zweite Tabelle zu ändern.

In meinem .Net Webprojekt mit Entity Framework 5.0 regeneriere ich das Modell aus der Datenbank... ERROR 2002 Der EntityContainer bla... bla...

Ich habe viel Zeit mit diesem... dummen Fehler und den noch dümmeren Informationen aus ODT 12 verbracht.

4voto

scaryman Punkte 1852

(Spät, ich weiß, aber diese Frage wird oft gestellt)

Ich wette, Sie haben Ihre Klasse irgendwo umbenannt. Visual Studio überträgt diese Änderungen nicht in die Xml-Datei. Suchen Sie in der edmx xml-Datei nach dem <EntityContainerMapping CdmEntityContainer="badEntity" /> Tag, und ersetzen Sie badEntity mit dem richtigen Namen, in Ihrem Fall BancorLineEntidades

Auch verwandt - http://mvcmusicstore.codeplex.com/discussions/220395

1voto

user8128167 Punkte 5968

Bei mir ist ein ähnlicher Fehler aufgetreten:

Schema specified is not valid. Errors: \r\nEntities.MyModel.msl(203,12) : error 2009: Content not valid. The conceptual side Member or Property 'Unit' specified as part of this MSL does not exist in MetadataWorkspace.

Dort hatte ich meine UNIT in beiden:

    <EntityTypeMapping TypeName="IsTypeOf(MyObjectCharacteristic)">
      <MappingFragment StoreEntitySet="OBJECT_CHARACTERISTICS">
        <ScalarProperty Name="Unit" ColumnName="UNIT" />
        <ScalarProperty Name="ClassName" ColumnName="CLASSNAME" />
        <ScalarProperty Name="MyObjectID" ColumnName="OBJECTID" />
      </MappingFragment>
    </EntityTypeMapping>

  <EntitySet Name="OBJECT_CHARACTERISTICS" EntityType="Self.OBJECT_CHARACTERISTICS" store:Type="Views" store:Schema="DBA">
    <DefiningQuery>SELECT
    dbo.RESOURCE.OBJECTID,
    dbo.RESOURCE.CLASSNAME,
    dbo.RESOURCE.UNIT
    FROM dbo.RESOURCE
    </DefiningQuery>
  </EntitySet>

Außerdem musste ich sicherstellen, dass die Entitätsdetails der zugehörigen Klasse für das Objekt, das die Datenbanktabelle darstellte, das UNIT-Datenelement enthielt:

<EntitySetMapping Name="ObjectCharacteristics">
    <EntityTypeMapping TypeName="IsTypeOf(ObjectCharacteristic)">
        <ScalarProperty Name="Unit" ColumnName="UNIT" />
        <ScalarProperty Name="ClassName" ColumnName="CLASSNAME" />
        <ScalarProperty Name="ObjectId" ColumnName="OBJECTID" />
    </EntityTypeMapping>
</EntitySetMapping>

Und außerdem,

<EntityType Name="ObjectCharacteristic" A:TypeAccess="Public" xmlns:a=""http://schemas.microsoft.com/ado/2006/04/codegeneration">
    <Key>
        <PropertyRef Name="ObjectId" />
    </Key>
    <Property Name="ObjectId" Type="String" />
    <Property Name="ClassName" Type="String" />
    <Property Name="Unit" Type="String" />
</EntityType>

1voto

BurnsBA Punkte 3237

Ich verwende auch Oracle und Entity Framework. Ich habe diesen Fehler erhalten, als ich das Modell aus der Datenbank generiert habe. Ich habe versucht, mit einer Tabelle zu beginnen und dann das Modell zu ändern und eine Tabelle nach der anderen hinzuzufügen (das hat eine Weile gedauert). Dies funktionierte bis auf ca. 8 Tabellen. Ich überprüfte die Fremdschlüssel, konnte aber nichts finden, was Probleme verursachen könnte. Am Ende fügte ich manuell neue Entitäten im edmx-Diagrammeditor hinzu, fügte manuell Eigenschaften hinzu und ordnete den Eigenschaften manuell Spalten zu.

-1voto

Paully Punkte 582

Manchmal müssen Sie Visual Studio neu starten, damit dieser Fehler nach der Korrektur der EDMX-Datei behoben wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X