Verwenden von DbContext.Database.SqlQuery<TElement>(sql, params)
zuerst mit gespeicherten Prozeduren im EF-Code
Das Ausführen gespeicherter Prozeduren mit Parametern unter Verwendung von DbContext.Database.SqlQuery<TElement>(sql, params)
kann Schwierigkeiten bereiten.
Problem:
Dieser Ansatz führt bei Verwendung mit gespeicherten Prozeduren, die Parameter benötigen, häufig zu einer Fehlermeldung wie:
<code>"Procedure or function 'mySpName' expects parameter '@param1', which was not supplied."</code>
Auflösung:
Die Lösung besteht darin, SqlParameter
Objekte in der richtigen Struktur bereitzustellen:
<code class="language-csharp">context.Database.SqlQuery<MyEntityType>( "mySpName @param1, @param2, @param3", new SqlParameter("param1", param1), new SqlParameter("param2", param2), new SqlParameter("param3", param3) );</code>
Die Bereitstellung von SqlParameter
Instanzen stellt sicher, dass die gespeicherte Prozedur die erforderlichen Parameter erhält, was zu einer erfolgreichen Ausführung und einem erfolgreichen Datenabruf führt.
Das obige ist der detaillierte Inhalt vonWie verwende ich DbContext.Database.SqlQuery zuerst korrekt mit gespeicherten Prozedurparametern im EF-Code?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!