Heim >Datenbank >MySQL-Tutorial >Wie verwende ich DbContext.Database.SqlQuery mit gespeicherten Prozeduren und Parametern in EF Code First CTP5?

Wie verwende ich DbContext.Database.SqlQuery mit gespeicherten Prozeduren und Parametern in EF Code First CTP5?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-17 11:57:09222Durchsuche

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

Verwenden Sie DbContext.Database.SqlQuery, um gespeicherte Prozeduren in Entity Framework Code First CTP5 aufzurufen

Mit der

-Methode des DbContext.Database.SqlQuery<TElement>(sql, params)Entity Framework Code First CTP5 können Sie eine gespeicherte Prozedur aufrufen und die Ergebnisse als Liste von Objekten vom Typ TElement abrufen. Wenn die gespeicherte Prozedur jedoch Parameter erfordert, müssen diese im Aufruf von SqlQuery angegeben werden.

SqlParameter-Parameter

Bei der Bereitstellung eines SqlParameter-Objekts als Parameter muss der Parametername in der SQL-Abfrage enthalten sein und ihm das @-Symbol vorangestellt sein. Für eine gespeicherte Prozedur, die drei Parameter erfordert, würden Sie beispielsweise die folgende Abfrage angeben:

<code class="language-sql">"mySpName @param1, @param2, @param3"</code>

Sie erstellen dann drei SqlParameter Objekte und übergeben sie an SqlQuery wie folgt:

<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>

Beachten Sie, dass die Parameternamen im SqlParameter-Objekt mit den Parameternamen in der gespeicherten Prozedur übereinstimmen müssen.

Das obige ist der detaillierte Inhalt vonWie verwende ich DbContext.Database.SqlQuery mit gespeicherten Prozeduren und Parametern in EF Code First CTP5?. 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