RelationalDatabaseFacadeExtensions.SqlQuery<TResult> Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy zapytanie LINQ oparte na nieprzetworzonym zapytaniu SQL, które zwraca zestaw wyników typu skalarnego natywnie obsługiwanego przez dostawcę bazy danych.
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)
Parametry typu
- TResult
Parametry
- databaseFacade
- DatabaseFacade
Element DatabaseFacade dla kontekstu.
Ciąg interpolowany reprezentujący zapytanie SQL z parametrami.
Zwraca
Reprezentująca IQueryable<T> zapytanie SQL ciągu interpolowanego.
Uwagi
Aby użyć tej metody z typem zwracanym, który nie jest natywnie obsługiwany przez dostawcę DefaultTypeMapping<TScalar>(Action<TypeMappingConfigurationBuilder<TScalar>>) bazy danych, użyj metody .
Zwrócony IQueryable<T> element można skomponować za pomocą LINQ w celu tworzenia bardziej złożonych zapytań.
Należy pamiętać, że ta metoda nie uruchamia transakcji. Aby użyć tej metody z transakcją, najpierw wywołaj lub BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction.
Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszystkie dane wejściowe użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić posiadacze miejsc parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie wartości parametrów, które podajesz, zostaną automatycznie przekonwertowane na parametr DbParameter.
Aby uzyskać więcej informacji i przykładów, zobacz Wykonywanie nieprzetworzonych poleceń SQL za pomocą programu EF Core .