Funktionsimporte im Entitätsmodell mit einem Rückgabetyp ohne Entität

8

Ich habe eine gespeicherte Prozedur in meinem Entitätsdatenmodell und fügte sie den Funktionsimporten hinzu.

Problem ist ... Visual Studio generiert den Funktionscode im Code-Behind des Modells genau dann, wenn ich die Rückgabe als Entitätstyp festlege. Skalar und Null-Rückgabetypen funktionieren nicht. Visual Studio generiert den Funktionscode nicht, wenn ich sie auswähle.

Gibt es etwas, das mir fehlt, oder ist das ein Fehler?
Irgendwelche Workarounds?

Verwenden von Visual Studio 2008 v9.0.30729.1 SP (Service Pack 1)     
Robert Claypool 23.02.2009, 17:32
quelle

3 Antworten

8

Es ist nicht so sehr ein Fehler als das Fehlen einer Funktion. Das Entity Framework unterstützt gerade keine gespeicherten Prozeduren, die gerade skalare Werte zurückgeben. Ich glaube, das soll sich in .NET 4.0 ändern. In der Zwischenzeit können Sie eine solche gespeicherte Prozedur mithilfe der Speicherverbindung ausführen, die über den Befehl CreateDbCommand .

    
Craig Stuntz 23.02.2009, 17:56
quelle
4

Da es jetzt nur noch darum geht, den Rückgabetyp einer Entität zuzuordnen, besteht eine Umgehungslösung darin, eine Ansicht zu erstellen, die den Rückgabedaten entspricht, und eine Entität für die Ansicht zu erstellen. Dies funktioniert nur, wenn der SP eine SELECT-Anweisung ausführt, um eine Ergebnismenge und keinen Rückgabewert zurückzugeben. Ich habe das mit einer Beispiel-App arbeiten lassen, so: SP:

%Vor%

ANSICHT:

%Vor%

Erstellen Sie den Funktionsimport, indem Sie den Rückgabetyp auf View_1 festlegen und das Modell erstellen.

im Code:

%Vor%

Stellen Sie sicher, dass die Spaltennamen zwischen der Ansicht und SP genau gleich sind. Toby

    
Toby 24.04.2009 16:27
quelle
3

Ich hatte das ähnliche Problem und löste es mit diesem Artikel:

Ссылка

    
Darius Kucinskas 06.01.2010 15:08
quelle