2012-12-20 16 views
6

ich die Datenbank ersten Ansatz versucht, durch ein ADO.NET Entity Data Model Erstellen des Assistenten mit der AdventureWorks2012 DB verwenden.Entity Data Model Wizard nicht Erstellen von Tabellen in EDMX-Datei

Testing DB-Verbindung funktioniert, und die Verbindungszeichenfolge wird die App.Config hinzugefügt.

Ich wähle alle Tabellen mit Ausnahme der als (dbo) AWBuildVersion, DatabaseLog und ErrorLog markierten Tabellen aus.

Wenn der Assistent fertig ist, ist die Datei .edmx leer, und wenn ich die Datei in der XML-Ansicht anzeigen, ist EntityContainer leer.

Nachdem das Modell erstellt wird, es gibt diesen Fehler im Ausgabefenster:

Kann das Modell aufgrund der folgenden Ausnahme erzeugen: ‚Die Tabelle AdventureWorks2012.Production.Document durch ein referenziert Beziehung, aber kann nicht gefunden werden.

Ich verwende VS 2010 & .NET Framework 4.0

Antwort

3

Es scheint, dass Entity Framework nicht weiß, wie mit Datentypen behandeln wie auf einem Tabellenfeld gesetzt hierarchyid. Ich habe die Production.Document-Tabelle für die Liste der Entitäten entfernt, die mein Problem beheben sollen.

Beachten Sie auch, dass diese Referenz unten für Adventureworks 2008R2 mit EF Version 1.0 von Code Plex SQL Server war, und ich verwende Adventureworks 2012 von derselben CodePlex-Site mit EF Version 4.4.

Referenz: http://msftdbprodsamples.codeplex.com/wikipage?title=AW2008Details

Hinweis: EF 1.0 Kompatibilitätsprobleme

Das Entity Framework-Team möchten, dass wir Sie wissen lassen, dass AdventureWorks2008 ein wenig vor der Kurve in Bezug auf die Katmai ist bietet es verwendet . Einige Datentypen in AdventureWorks2008 (wie Hierarchie-ID und Geometrie) werden im Entitätsframework nicht unterstützt. Die Problemumgehung besteht darin, Tabellen wie Production.Document nach Möglichkeit aus Ihrem Modell auszuschließen, da derzeit in Entity Framework 1.0 keine Unterstützung für den hierarchyid-Datentyp vorhanden ist. Leider, die das Entity Framework Tooling Ihr Modell aus der Datenbank aktualisiert wird in Tabellen wie Production.Document ziehen, auch wenn sie nicht ausdrücklich ausgeschlossen wurden, wenn das Modell erstellt wurde, so Verwendung dieser Funktion auf AdventureWorks2008R2 ist zu diesem Zeitpunkt nicht unterstützt. Wir freuen uns auf eine Folgeversion von Entity Framework, die volle SQL Server 2008-Unterstützung bietet. Zuletzt geändert 25. Mai 2010 um 2:22 Uhr von bonniefe, Version 17

0

Es gibt einen Weg, um dieses zu bekommen, ist IF Sie versuchen, aus diesem Beispiel zu lernen, und nicht etwas Sinnvolles zu tun. Ich löschte die Fremdschlüssel zu der problematischen Tabelle und löschte sie erfolgreich und konnte erfolgreich

0

Deaktivieren Sie [Nullen zulassen] Kontrollkästchen (in der Tabelle Design) für alle Fremdschlüssel der nicht erstellten Tabellen (Tabellen nicht konvertiert zum Modell).

enter image description here

Dann können Sie Ihr Modell aktualisieren, um diese Tabellen abrufen, indem Sie die folgenden Schritte ausführen: -

Schritt 1 - Recht einige, wo in Ihrer .edmx Datei Design klicken (dh Model1.EDMX [Diagramm 1 ] Schritt 2 - dann aus dem Kontextmenü wählen Sie/Update Model from Database .... Schritt 3 - dann wählen Sie "Hinzufügen" Schritt 4 - dann "Tabellen" Check-Boxen und wählen Sie Ihre gewünschten Tabellen (Tabellen nicht Schritt 5 - klicken Sie dann auf die Schaltfläche Fertig stellen Schritt 6 - Speichern Sie die Lösung und hoffe alles wird gut.

enter image description here

Hinweis: Ich bin 2013

Viel Glück mit Visual Studio.