RelationalDatabaseFacadeExtensions.ExecuteSql 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.
Wykonuje daną bazę danych SQL i zwraca liczbę wierszy, których dotyczy problem.
public static int ExecuteSql (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
static member ExecuteSql : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString -> int
<Extension()>
Public Function ExecuteSql (databaseFacade As DatabaseFacade, sql As FormattableString) As Integer
Parametry
- databaseFacade
- DatabaseFacade
Element DatabaseFacade dla kontekstu.
Ciąg interpolowany reprezentujący zapytanie SQL z parametrami.
Zwraca
Liczba wierszy, których dotyczy problem.
Uwagi
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.
Należy pamiętać, że bieżący element ExecutionStrategy nie jest używany przez tę metodę, ponieważ język SQL może nie być idempotentny i nie jest uruchamiany w transakcji. Można ExecutionStrategy go jawnie użyć, upewniając się, że jest również używana transakcja, jeśli język SQL nie jest idempotentny.
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 .