RelationalDatabaseFacadeExtensions.SqlQuery<TResult> Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine LINQ-Abfrage basierend auf einer rohen SQL-Abfrage, die einen Resultset eines skalaren Typs zurückgibt, der vom Datenbankanbieter nativ unterstützt wird.
public static System.Linq.IQueryable<TResult> SqlQuery<TResult>(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
static member SqlQuery : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function SqlQuery(Of TResult) (databaseFacade As DatabaseFacade, sql As FormattableString) As IQueryable(Of TResult)
Typparameter
- TResult
Parameter
- databaseFacade
- DatabaseFacade
Der DatabaseFacade für den Kontext.
Die interpolierte Zeichenfolge, die eine SQL-Abfrage mit Parametern darstellt.
Gibt zurück
Eine IQueryable<T> Darstellung der interpolierten Zeichenfolgen-SQL-Abfrage.
Hinweise
Wenn Sie diese Methode mit einem Rückgabetyp verwenden möchten, der vom Datenbankanbieter nicht nativ unterstützt wird, verwenden Sie die DefaultTypeMapping<TScalar>(Action<TypeMappingConfigurationBuilder<TScalar>>) Methode.
Die zurückgegebene IQueryable<T> Kann mithilfe von LINQ erstellt werden, um komplexere Abfragen zu erstellen.
Beachten Sie, dass diese Methode keine Transaktion startet. Um diese Methode mit einer Transaktion zu verwenden, rufen Sie zuerst auf BeginTransaction(DatabaseFacade, IsolationLevel) oder UseTransaction.
Wie bei jeder API, die SQL akzeptiert, ist es wichtig, jede Benutzereingabe zu parametrisieren, um vor einem SQL-Einfügungsangriff zu schützen. Sie können Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen und dann Parameterwerte als zusätzliche Argumente angeben. Alle parameterwerte, die Sie angeben, werden automatisch in einen DbParameter konvertiert.
Weitere Informationen und Beispiele finden Sie unter Ausführen von unformatierten SQL-Befehlen mit EF Core .