Heim > Datenbank > MySQL-Tutorial > Wie verwende ich DbContext.Database.SqlQuery korrekt mit gespeicherten Prozedurparametern?

Wie verwende ich DbContext.Database.SqlQuery korrekt mit gespeicherten Prozedurparametern?

Susan Sarandon
Freigeben: 2025-01-17 12:06:14
Original
533 Leute haben es durchsucht

How to Correctly Use DbContext.Database.SqlQuery with Stored Procedure Parameters?

EF Code First CTP5: Verwenden von DbContext.Database.SqlQuery mit gespeicherten Prozedurparametern(sql, params)

Frage:

Entwickler stehen vor Herausforderungen bei der Bereitstellung von Parametern, wenn sie versuchen, die Methode DbContext.Database.SqlQuery mit gespeicherten Prozeduren zu verwenden. Bei Verwendung des SqlParameter-Objekts wird eine SqlException ausgelöst, die darauf hinweist, dass der Parameter nicht wie erwartet bereitgestellt wurde.

Antwort:

Um die DbContext.Database.SqlQuery-Methode erfolgreich mit einer gespeicherten Prozedur zu verwenden, die Parameter erfordert, sollte der folgende Ansatz verwendet werden:

Lösung:

Anstatt das SqlParameter-Objekt direkt als Parameter zu übergeben, ändern Sie die SQL-Abfragezeichenfolge so, dass sie Parameternamen enthält, die mit dem „@“-Symbol beginnen. Erstellen Sie dann SqlParameter-Instanzen für jeden erforderlichen Parameter, weisen Sie sie zu und stellen Sie sie als zusätzliche Parameter bereit.

Codebeispiel:

Der folgende Codeausschnitt demonstriert die korrekte Verwendung:

<code class="language-c#">context.Database.SqlQuery<我的实体类型>(
    "mySpName @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);</code>
Nach dem Login kopieren

Diese aktualisierte Syntax sollte das SqlException-Problem beheben und es Ihnen ermöglichen, die DbContext.Database.SqlQuery-Methode zu verwenden, um die gewünschten Ergebnisse aus einer gespeicherten Prozedur abzurufen.

Das obige ist der detaillierte Inhalt vonWie verwende ich DbContext.Database.SqlQuery korrekt mit gespeicherten Prozedurparametern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage