DbSet.SqlQuery(String, Object[]) 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 nieprzetworzone zapytanie SQL, które zwróci jednostki w tym zestawie. Domyślnie zwracane jednostki są śledzone przez kontekst; Można to zmienić przez wywołanie asNoTracking po zwróconym DbRawSqlQuery . Należy pamiętać, że zwracane jednostki są zawsze typu dla tego zestawu i nigdy typu pochodnego. Jeśli tabela lub tabele, których dotyczy zapytanie, mogą zawierać dane dla innych typów jednostek, należy odpowiednio napisać zapytanie SQL, aby upewnić się, że zwracane są tylko jednostki poprawnego typu.
Podobnie jak w przypadku każdego interfejsu API, który akceptuje język SQL, ważne jest, aby sparametryzować wszelkie 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ć symbole zastępcze parametrów, a następnie podać wartości parametrów jako dodatkowe argumenty. Wszystkie podane wartości parametrów zostaną automatycznie przekonwertowane na parametr DbParameter. Kontekście. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Wpisy WHERE Author = @p0", userSuppliedAuthor); Alternatywnie możesz również skonstruować parametr DbParameter i podać go do zapytania SqlQuery. Dzięki temu można używać nazwanych parametrów w ciągu zapytania SQL. Kontekście. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Wpisy WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
public virtual System.Data.Entity.Infrastructure.DbSqlQuery SqlQuery (string sql, params object[] parameters);
abstract member SqlQuery : string * obj[] -> System.Data.Entity.Infrastructure.DbSqlQuery
override this.SqlQuery : string * obj[] -> System.Data.Entity.Infrastructure.DbSqlQuery
Public Overridable Function SqlQuery (sql As String, ParamArray parameters As Object()) As DbSqlQuery
Parametry
- sql
- String
Ciąg zapytania SQL.
- parameters
- Object[]
Parametry, które mają być stosowane do ciągu zapytania SQL. Jeśli są używane parametry wyjściowe, ich wartości nie będą dostępne do czasu całkowitego odczytania wyników. Wynika to z podstawowego zachowania elementu DbDataReader, zobacz, aby http://go.microsoft.com/fwlink/?LinkID=398589 uzyskać więcej informacji.
Zwraca
DbSqlQuery Obiekt, który wykona zapytanie podczas wyliczania.