Heim >Backend-Entwicklung >C++ >Wie verwende ich DbContext.Database.SqlQuery zuerst korrekt mit gespeicherten Prozeduren und Parametern im EF-Code?
Verwenden der Methode DbContext.Database.SqlQuery
Entity Framework Code First CTP5 führt die DbContext.Database.SqlQuery<T>(sql, params)
-Methode ein, die eine Möglichkeit bietet, unformatierte SQL-Abfragen für die Datenbank auszuführen. Wenn Entwickler jedoch versuchen, diese Methode mit einer gespeicherten Prozedur zu verwenden, die über Parameter verfügt, kann es zu einer Ausnahme kommen, die darauf hinweist, dass keine Parameter bereitgestellt wurden.
Lösung:
Um DbContext.Database.SqlQuery<T>(sql, params)
erfolgreich mit einer gespeicherten Prozedur zu verwenden, die Parameter erfordert, müssen die Parameter als SqlParameter
-Objekte angegeben werden. Die korrekte Syntax lautet:
<code class="language-csharp">context.Database.SqlQuery<我的实体类型>( "我的存储过程名称 @param1, @param2, @param3", new SqlParameter("param1", param1), new SqlParameter("param2", param2), new SqlParameter("param3", param3) );</code>
In diesem Beispiel ist „mein gespeicherter Prozedurname“ der Name der gespeicherten Prozedur und „param1“, „param2“ und „param3“ sind die Werte, die an die entsprechenden Parameter in der gespeicherten Prozedur übergeben werden sollen . Durch die Angabe der Parameter auf diese Weise kann die SqlQuery-Methode den Wert korrekt für die Ausführung der gespeicherten Prozedur bereitstellen.
Das obige ist der detaillierte Inhalt vonWie verwende ich DbContext.Database.SqlQuery zuerst korrekt mit gespeicherten Prozeduren und Parametern im EF-Code?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!