wake-up-neo.net

Die Vorlage für das ADO.net-Entitätsdatenmodell kann in VS2017 nicht gefunden werden

Ich habe versucht, eine ASP.NET-MVC-Webanwendung in Visual Studio 2017 zu erstellen. Ich muss für die Arbeit einen EF-Datenbank-First-Ansatz verwenden.

Leider kann ich die ADO.NET Entity-Datenmodellvorlage nicht in meinem Vorlagenordner "Daten" finden:

 enter image description here

Ich habe folgende Vorschläge ausprobiert, die für mich nicht funktionierten.

  1. Entity Framework 6.x über NuGet installieren
  2. Manuelle Installation des Pakets durch Doppelklicken auf die neueste MSI-Datei
  3. .NET-Version von 4.6.x auf 3.5 ändern

NOTE: Ich habe VS 2015 und VS 2017 auf meinem Rechner installiert. Nur VS 2017 hat das Problem. 

Ich habe das ASP.NET MVC-Projekt wie folgt erstellt:

File -> New -> Project -> Web -> ASP.NET Web Application (.NET Framework) -> MVC

Kennt jemand eine Lösung für dieses Problem?

21
Sandaru
  1. Gehen Sie zu Tools -> Get Tools und Features
  2. Wählen Sie die Registerkarte Einzelkomponenten aus, und überprüfen Sie die Entity Framework 6-Tools unter SDKs, Bibliotheken und Framework
20
gopinath s

Für diejenigen, die andere Lösungen ausprobieren und die Vorlagen immer noch nicht sehen ...

Möglicherweise versuchen Sie, ADO EF zu einem .NET Core 2.0-Projekt hinzuzufügen, und EF wird nicht standardmäßig unterstützt

Sie haben 2 Möglichkeiten:

  1. Installieren Sie Core 2.0 SDK und NuGet, die .NET Standard 2.0 kennen
  2. Verwenden Sie ein .NET 4.x-Projekt anstelle von Core

Ich empfehle # 1. Bei VS 2017 ist nicht das vollständige Core 2.0-SDK installiert. Ist auch nicht über das VS-Installationsprogramm verfügbar (mit dem viele Kommentare hier Probleme haben). 

Ich weiß, verwirrend, richtig?

Von Microsoft: 

"Sie müssen eine für Ihre Plattform geeignete Version des .NET Core 2.0-SDK herunterladen und installieren. Dies gilt auch, wenn Sie Visual Studio 2017 Version 15.3 installiert haben."

"Um EF Core 2.0 oder eine andere .NET Standard 2.0 - Bibliothek mit .NET - Plattformen neben .NET Core 2.0 (z. B. mit .NET Framework 4.6.1 oder höher) verwenden zu können, benötigen Sie eine Version von NuGet, die die .NET Standard 2.0 und seine kompatiblen Frameworks "

https://blogs.msdn.Microsoft.com/dotnet/2017/08/14/announcing-entity-framework-core-2-0/

Nun ... wurde all das installiert und die Vorlage ADO wurde immer noch nicht angezeigt? Ich glaube das liegt daran, dass es veraltet/veraltet ist. So können Sie EF in .NET Core zum Laufen bringen: https://docs.Microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db

Hoffe das hilft! Bitte.

13
dapug

Es scheint, dass Sie "Class Library (.NET Standard)" hinzugefügt haben, das ADO.net Entity Data Model nicht unterstützt. Sie können "Class Library (.NET Framework)" hinzufügen.

6
M.Reza

Ich musste ein neues Projekt mit .Net 4.5.2 erstellen. Dann konnte ich das ADO.NET Entity Data Model hinzufügen.

  1. Datei -> Neues Projekt
  2. Wählen Sie Web -> ASP.NET-Webanwendung (.NET Framework) aus.
  3. Setzen Sie das Framework am unteren Rand des Fensters auf .NET Framework 4.5.2  enter image description here
  4. Leere Vorlage verwenden  enter image description here
  5. Klicken Sie mit der rechten Maustaste auf Lösung -> Hinzufügen -> Neues Element
  6. Wählen Sie Daten -> ADO.NET Entity Data Model  enter image description here
4
Dan Leksell

Um das obige Problem zu lösen, können Sie Visual Studio 2017 ändern. Sie können diesen Schritten folgen.

  1. Gehen Sie zu Systemsteuerung\Programme\Programme und Funktionen Ihres Computers.

  2. Wählen Sie Microsoft Visual Studio 2017 aus, klicken Sie mit der rechten Maustaste darauf und ändern Sie es.

  3. Sie gelangen zum Fenster von Visual Studio Products und klicken jetzt auf die Schaltfläche zum Ändern.

  4. Aktivieren Sie im Web- und Cloud-Abschnitt nun die ASP.Net- und Web-Entwicklungs-Workloads und ändern Sie sie.

  5. Starten Sie schließlich Visual Studio 2017.

2

Keine Lösung als solche, aber überprüfen Sie, ob das hinzugefügte Projekt für .NET Framework und nicht für .NET Standard ist. Die Vorlagen zum Hinzufügen von Dingen wie ADO.NET Entity Data Model sind für .NET Framework enthalten.

2
Abror

Ihre Werkzeuge für EF fehlen. Sie müssen das Installationsprogramm erneut ausführen, und unter "Paket auswählen" müssen Sie enitityframeworktools auswählen, um die erforderlichen Optionen in Ihrem Projekt zu erhalten.

1
Qaisar

Ich hatte das gleiche Problem in der VS2017 Community Edition . Ich hatte vorher folgendes versucht, aber es funktionierte nicht:

  • Neue Funktion für "SQL Server Data Tools" installiert.
  • Installierte NuGet-Bibliotheken.

Bei näherer Untersuchung hatte ich am Ende das Falsche anvisiert
Siehe Image: Sie sollten .NET Framework anstelle von .NET Standard auswählen

Bei mir wurde auf den richtigen Projekttyp umgestellt, während Targeting ".NET Framework" anstelle von ".NET Standard" funktionierte.

1
sas

Grundsätzlich habe ich festgestellt, dass Sie .Net Core Project EF nicht auf der Registerkarte "Daten" ausgewählt haben. Sie müssen .Net Framework anstelle von .Net Core auswählen. Dann finden Sie alle Sachen unter der Registerkarte Daten.

1

Extras -> Klicken Sie auf Tools und Funktionen abrufen -> Klicken Sie auf Ändern -> Klicken Sie auf Einzelne Komponenten -> Aktivieren Sie das Kontrollkästchen der Entity Framework 6-Tools -> Klicken Sie auf Modify -> Sie erhalten ein Popup-Fenster -> klicken Sie auf Wiederholen (falls nicht geschlossen, klicken Sie auf Weiter )

Starten Sie nun VS und diesmal wird das Einchecken von Daten zum ADO.NET-Entitätsmodell hinzugefügt.

Bitte überprüfen Sie diesen Artikel http://dotnet-jigyasa.blogspot.com/2018/03/adonet-entity-data-model-missing-visual.html Arbeitete für mich.

in meinem Fall hatte ich zuvor ADO .NET verwendet, also wusste ich, dass es installiert war. Also habe ich einfach ADO in das Suchfeld in der oberen rechten Ecke eingegeben, und ES gab dort Gelöst! hoffe das hilft 

0
Hind
  1. Gehen Sie zum Menü "Tools" von Visual Studio 2017 => Klicken Sie auf "Tools und Funktionen abrufen".
  2. Erweitern Sie mehr Dropdown => Klicken Sie auf Ändern. 
  3. Klicken Sie auf Einzelkomponenten. 
  4. Wählen Sie die Tools für Entity Framework 6 unter SDKs, Bibliotheken und Frameworks => Klicken Sie auf Ändern
0
Omnia Mosalam

Es ist wahr, dass diese Funktion in Core nicht verfügbar ist und diese Frage möglicherweise nicht direkt beantwortet wird. Core bietet jedoch die Befehlszeile Reverse Engineering, die ich erfolgreich für ein Projekt mit der vorhandenen Datenbank verwendet habe.

Sie müssen lediglich den folgenden Befehl in der Package Manager Console ausführen und es werden Modelle für Sie basierend auf der vorhandenen Datenbank erstellt:

Scaffold-DbContext 'Data Source=.\SQLEXPRESS;Initial Catalog=DbName;Integrated Security=True;MultipleActiveResultSets=True' Microsoft.EntityFrameworkCore.SqlServer

Oder direkt von der Kommandozeile aus über dot net.

dotnet ef dbcontext scaffold "Data Source=.\SQLEXPRESS;Initial Catalog=DbName;Integrated Security=True;MultipleActiveResultSets=True" Microsoft.EntityFrameworkCore.SqlServer

Weitere Informationen zu dieser Funktion finden Sie auf der Microsoft-Seite: 
https://docs.Microsoft.com/de-de/ef/core/managing-schemas/scaffolding

Ändern Sie zunächst den Rahmen in 4.5.2 in Ihrer Projektanwendungseigenschaft. Geben Sie die Bildbeschreibung hier ein Klicken Sie im Lösungs-Explorer mit der rechten Maustaste auf Ihre Anwendung (nicht die Projektlösung), und wählen Sie im Menü "Hinzufügen" die Option "ADO.Net" unter "Hinzufügen" Speisekarte. Machen Sie mit ADO.NET, was Sie möchten. Viel Glück. 

0
user10637613

In Visual Studio werden die verfügbaren Projekte entsprechend dem Bereich angezeigt, in dem Sie geklickt haben. Klicken Sie mit der rechten Maustaste auf den Namen des Projekts root -> add -> new item -> Data Sie können das ADO.NET Entity-Datenmodell auswählen

0
stefano

Meine Lösung bestand darin, eine "edmx" -Datei aus einem anderen Projekt mit asp.net core in das Projekt zu kopieren, und funktioniert einwandfrei. Bei allen Funktionen ist das Problem nur in den in der Liste verfügbaren Vorlagen enthalten.

0
Adrian

in meinem Fall war mein Projekt-> Eigenschaften-> Ziel-Framework 2.0, ich wechsle zu 4.5 und weiß, dass es funktioniert. Ich weiß, dass ich das Datenmodell von Ado.net-Entitäten sehe.

0
David Greenfeld

ich denke, Sie haben die Klassenbibliothek (.NET Standard) anstelle der Klassenbibliothek (.NET Framework) ausgewählt. Versuchen Sie, die Klassenbibliothek (.NET Framework) auszuwählen. Sie erhalten sie.

0
shakeeb