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 na podstawie nieprzetworzonego zapytania 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ągów interpolowanych.
Uwagi
Aby użyć tej metody z typem zwracanym, który nie jest natywnie obsługiwany przez dostawcę bazy danych, użyj DefaultTypeMapping<TScalar>(Action<TypeMappingConfigurationBuilder<TScalar>>) metody .
Zwrócony IQueryable<T> element może składać się za pomocą LINQ w celu tworzenia bardziej złożonych zapytań.
Pamiętaj, że ta metoda nie uruchamia transakcji. Aby użyć tej metody z transakcją, najpierw wywołaj BeginTransaction(DatabaseFacade, IsolationLevel) lub UseTransaction.
Podobnie jak w przypadku dowolnego interfejsu API akceptującego język SQL, ważne jest, aby sparametryzować dane wejściowe dowolnego użytkownika w celu ochrony przed atakiem polegającym na wstrzyknięciu kodu SQL. W ciągu zapytania SQL można uwzględnić symbole zastępcze 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 .