Kann ich eine gespeicherte Prozedur nicht innerhalb eines Transaktionsbereichs von Entity Framework aus aufrufen?

7

Ich habe eine Methode, die Entity Framework verwendet, um einige Änderungen / Einfügungen in verschiedenen Entitäten vorzunehmen, und dies alles in einem einzigen Transaktionsbereich. Diese Änderungen funktionieren sehr gut.

Mein Problem hat begonnen, als ich eine gespeicherte Prozedur in der Mitte dieser Operationen verwenden musste. Die Prozedur führt nur eine Einfügung in eine Tabelle durch und hat keine explizite Deklaration von Transaktionen. Ich habe versucht, eine Transaktion zu deklarieren und dort auch zu committen, aber das Problem war das gleiche.

Kann ich eine gespeicherte Prozedur nicht innerhalb eines Transaktionsbereichs von Entity Framework (EF1) aufrufen?

Diese Ausnahme wird nur nach transaction.Complete () ausgelöst, wenn der using-Block geschlossen wird.

%Vor%

Innere Ausnahme:

%Vor%

UPDATE: Ein Bounty gestartet

Heute mache ich diesen Prozeduraufruf nicht mehr über Entity Framework. Ich rufe die Prozedur über ADO.net auf, das war meine Problemumgehung. Aber das Problem geht weiter, ich sollte in naher Zukunft einige Anrufe tätigen, vielleicht innerhalb eines Transaktionsbereichs.

    
Victor Rodrigues 21.01.2010, 12:10
quelle

2 Antworten

2

Ein Fehler mit einer Hotifx? KB 936983

    
gbn 26.01.2010, 20:13
quelle
18

I Endlich eine Lösung gefunden ... EF erwartet, dass die gespeicherte Prozedur (importierte Funktion) einen Wert zurückgibt. So rufen Sie .FirstOrDefault () für die Funktion auf, wenn sie zurückkehrt.

    
Ben Chege 07.12.2010 16:52
quelle