Ich verwende das Entity Framework, um die Klassen und Funktionen in C# zu generieren. Ich muss mit dem SQL Server interagieren.Entity Framework, das keine Klassen für Tabellen oder Prozeduren generiert
Als Referenz hier ist einer meiner Tabellen:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Area](
[ID] [bigint] identity (1, 1) primary key,
[Name] [nvarchar](100) NOT NULL
)
GO
Nach dem Entity Data Model-Assistenten (‚EF Designer aus der Datenbank‘) senden hat mein Projekt die edmx Datei und ein paar neue CS-Dateien , aber es scheint, als würde es nicht alles erzeugen, was es braucht.
In meiner DatabaseEntities Klasse, zum Beispiel, ich habe:
public virtual DbSet<Area> Areas { get; set; }
Allerdings gibt es keine Definition für den Typen 'Area' (zusammen mit drei anderen fehlenden Typen). Ich vermisse auch die Funktionen für gespeicherte Prozeduren.
Ich habe versucht, die neuen Dateien zu löschen und den Model Wizard erneut auszuführen, aber ich bekomme das gleiche Ergebnis.
Hat jemand anderes in das hineingeraten?
Randnoten:
ich in den letzten paar Versuche habe bemerkt, dass ich auch einen Fehler bekommen, wenn der Assistent ausgeführt wird: „Das Paket Entity Framework nicht auf Projekt installiert“. Allerdings erzeugt es immer noch den edmx und den model.context, wenn ich darauf klicke.
Ich hatte das gleiche Problem mit beiden Entity Framework-Versionen 6.0.0 und 6.1.2.
Die Neuinstallation des Frameworks hatte keine Auswirkungen auf das Problem (die Probleme).
UPDATE:
Deinstallation und Neuinstallation nuget die neueste Version erlaubt mir EntityFramework über nuget ohne Fehler zu installieren. Jetzt fehlt das ADO.NET-Datenmodell jedoch im Dialogfeld "Neues Element hinzufügen".
Wenn Sie CodeFirst von einer vorhandenen Datenbank ausführen, erhalten Sie keine willkürlich gespeicherten Procs oder tvfs, da sie von CodeFirst nicht nativ unterstützt werden. – Pawel
Für gespeicherte Proc müssen Sie möglicherweise die folgenden zwei Zeilen hinzufügen: SET FMTONLY OFF SET NOCOUNT ON Im Dialogfeld können Sie die komplexen Typen erstellen. Es wird empfohlen, FMTONLY wieder zu entfernen. Können Sie für die Tabellen die Tabellendefinition anzeigen? – Ako
@Pawel: Ich verwende EF Designer aus der Datenbank. –