2010-06-17 10 views
7

Nach meiner Datenzugriffsschicht Projekt von EntityFramework v1 Umwandlung einen bekam eine Reihe von Fehlern für jede der Entitätsklassen in v4:Entity Framework Umwandlung von V1 bis V4 Problem

Fehler 10016: Fehler beim Auflösen Punkt ‚EntityTypeShape‘. Die Ausnahmebedingungsnachricht lautet: 'Nicht aufgelöste Referenz' NS.EntityName1 '.'. DataAccessLayer \ Model.edmx

und

Fehler 10016: Fehler beim Auflösen Punkt 'AssociationConnector'. Die Ausnahmebedingungsnachricht lautet: 'NS.EntityName1'. '. DataAccessLayer \ Model.edmx

Weiß jemand, was das ist und wie man es repariert?

+0

Hallo Max. Ich habe gerade eine unserer Lösungen aktualisiert, und ich habe das gleiche Problem wie Sie. Haben Sie eine Lösung gefunden? –

+0

Nein. Ich habe alles von Grund auf neu erstellt. – Max

Antwort

4

Ich hatte genau das gleiche Problem. Ich weiß nicht, ob das Ihr Problem ist oder nicht, aber ich habe festgestellt, dass ich in der xml-Ansicht auf das edmx verwiesen habe, dass ich für jedes der Elemente mit diesem Fehler doppelte Referenzen in der XML-Datei hatte. Ich musste nur die doppelten Referenzen entfernen und alles funktionierte.

Hier ist ein Beispiel dafür, was ich meine:

<EntityTypeShape EntityType="PackageManagementEntityModel.Package" Width="1.5" PointX="0.75" PointY="0.75" Height="3.5644742838541665" IsExpanded="true" /> 
<EntityTypeShape EntityType="PackageManagementEntityModel.ShipLane" Width="1.5" PointX="2.75" PointY="0.75" Height="1.7566536458333331" IsExpanded="true" /> 
<EntityTypeShape EntityType="PackageManagement.EntityModel.Package" Width="1.5" PointX="0.75" PointY="0.75" Height="3.5844742838541652" /> 
<EntityTypeShape EntityType="PackageManagement.EntityModel.ShipLane" Width="1.5" PointX="2.625" PointY="0.75" Height="1.7566536458333335" /> 
+0

Danke, aber leider ist das nicht mein Fall – Max

+0

Ja, das hat auch bei mir funktioniert. –

+0

Funktioniert auch für mich. Es stellte sich heraus, dass sie auf einige nicht existierende Beziehungen Bezug nahmen. Ich nehme an, EF hätte sie entfernen sollen. – ritcoder

5

Wenn das Modell klein ist, ist es wahrscheinlich am einfachsten, um es einfach zu regenerieren. Wenn Sie das Problem beheben möchten, können Sie das XML im XML-Editor entweder vor oder nach der Konvertierung manuell ändern. Das Problem war in meinem Fall, dass die EntityType-Attribute nicht korrekt waren - speziell der Namespace war falsch. Ich bin mir nicht sicher, wie es in VS2008 überhaupt funktioniert hat, aber ich hatte nicht den Wunsch, es weiter zu verfolgen. Wenn Sie nichts dagegen haben das Layout Ihres Modells zu verlieren, ist der einfachste Weg, es zu beheben, ist alles innerhalb des <Diagram> Tag zu löschen, so dass ist wie folgt aussieht:

<!-- Diagram content (shape and connector positions) --> 
<edmx:Diagrams> 
    <Diagram Name="YourDiagramName"> 
    </Diagram> 
</edmx:Diagrams> 

speichern es und öffnen Sie das Modell in der Designer. Das Problem sollte jetzt gelöst werden.

Wenn Sie Ihr Layout erhalten möchten, anstatt einfach alles innerhalb des Tags <Diagram> zu löschen, müssen Sie alle EntityType-Attribute korrigieren, die nicht korrekt sind. Der Trick besteht darin, sicherzustellen, dass der vollständig qualifizierte Typname angegeben wird. In meinem Fall hatte der Namespace etwas Besonderes - nicht sicher, wie es dort angekommen ist oder wie es in VS2008 funktioniert hat, aber das zu korrigieren ist der erste Schritt. Möglicherweise möchten Sie Ihren Namespace und Entitätsnamen überprüfen, indem Sie den generierten Code für das Modell anzeigen.

Ich habe diese Lösung sowohl in VS2008 und VS2010 versucht und verschiedene Ergebnisse erhalten. In VS2010 wurde durch einfaches Korrigieren der EntityType-Attribute das Problem sofort behoben. In VS2008 habe ich beim Öffnen des Modells einen Fehler erhalten, "Der Parameter ist falsch." Um dieses Problem zu beheben, konnte ich das XML manuell erneut bearbeiten. Diesmal entfernte ich alle <AssociationConnector> Tags (und alle untergeordneten Elemente). Dann speicherte die Datei und alles schien wieder zu funktionieren.

Verwandte Themen