Heim >Backend-Entwicklung >C++ >Wie verwende ich DbContext.Database.SqlQuery zuerst korrekt mit gespeicherten Prozeduren und Parametern im EF-Code?

Wie verwende ich DbContext.Database.SqlQuery zuerst korrekt mit gespeicherten Prozeduren und Parametern im EF-Code?

Linda Hamilton
Linda HamiltonOriginal
2025-01-18 19:07:08677Durchsuche

How to Correctly Use DbContext.Database.SqlQuery with Stored Procedures and Parameters in EF Code First?

Verwenden der Methode DbContext.Database.SqlQuery(sql, params) und der gespeicherten Prozedur in EF Code First CTP5

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn