RelationalQueryableExtensions.FromSql 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.
Przeciążenia
FromSql<TEntity>(DbSet<TEntity>, FormattableString) |
Tworzy zapytanie LINQ na podstawie ciągu interpolowanego reprezentującego zapytanie SQL. |
FromSql<TEntity>(IQueryable<TEntity>, FormattableString) |
Przestarzałe.
Tworzy zapytanie LINQ na podstawie ciągu interpolowanego reprezentującego zapytanie SQL.
Jeśli dostawca bazy danych obsługuje tworzenie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ —
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ć symbole zastępcze parametrów interpolowanych. Wszystkie wartości parametrów interpolowanych, które podajesz, zostaną automatycznie przekonwertowane na parametr DbParameter — |
FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[]) |
Przestarzałe.
Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL.
Jeśli dostawca bazy danych obsługuje tworzenie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ —
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 —
To przeciążenie akceptuje również wystąpienia DbParameter jako wartości parametrów. Umożliwia to używanie nazwanych parametrów w ciągu zapytania SQL — |
FromSql<TEntity>(IQueryable<TEntity>, String, Object[]) |
Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL.
Jeśli dostawca bazy danych obsługuje tworzenie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ —
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 —
Można również utworzyć parametr DbParameter i podać go jako wartość parametru. Umożliwia to używanie nazwanych parametrów w ciągu zapytania SQL — |
FromSql<TEntity>(DbSet<TEntity>, FormattableString)
Tworzy zapytanie LINQ na podstawie ciągu interpolowanego reprezentującego zapytanie SQL.
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this Microsoft.EntityFrameworkCore.DbSet<TEntity> source, FormattableString sql) where TEntity : class;
static member FromSql : Microsoft.EntityFrameworkCore.DbSet<'Entity (requires 'Entity : null)> * FormattableString -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As DbSet(Of TEntity), sql As FormattableString) As IQueryable(Of TEntity)
Parametry typu
- TEntity
Typ elementów elementu source
.
Parametry
- source
- DbSet<TEntity>
Element IQueryable<T> do użycia jako podstawa zapytania SQL interpolowanego ciągu (zazwyczaj ).DbSet<TEntity>
Ciąg interpolowany reprezentujący zapytanie SQL z parametrami.
Zwraca
Reprezentująca IQueryable<T> zapytanie SQL ciągu interpolowanego.
Uwagi
Jeśli dostawca bazy danych obsługuje tworzenie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ.
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ć symbole zastępcze parametrów interpolowanych. Wszystkie wartości parametrów interpolowanych, które podajesz, zostaną automatycznie przekonwertowane na DbParameterwartość .
Aby uzyskać więcej informacji i przykładów, zobacz Wykonywanie nieprzetworzonych poleceń SQL za pomocą programu EF Core .
Dotyczy
FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Przestroga
For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.
Tworzy zapytanie LINQ na podstawie ciągu interpolowanego reprezentującego zapytanie SQL.
Jeśli dostawca bazy danych obsługuje tworzenie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ — context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
.
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ć symbole zastępcze parametrów interpolowanych. Wszystkie wartości parametrów interpolowanych, które podajesz, zostaną automatycznie przekonwertowane na parametr DbParameter — context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")
.
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, FormattableString sql) where TEntity : class;
[System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)]
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, FormattableString sql) where TEntity : class;
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * FormattableString -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
[<System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)>]
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * FormattableString -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As IQueryable(Of TEntity), sql As FormattableString) As IQueryable(Of TEntity)
Parametry typu
- TEntity
Typ elementów elementu source
.
Parametry
- source
- IQueryable<TEntity>
Element IQueryable<T> do użycia jako podstawa zapytania SQL interpolowanego ciągu (zazwyczaj ).DbSet<TEntity>
Ciąg interpolowany reprezentujący zapytanie SQL.
Zwraca
Reprezentująca IQueryable<T> zapytanie SQL ciągu interpolowanego.
- Atrybuty
Dotyczy
FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
Przestroga
For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.
Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL.
Jeśli dostawca bazy danych obsługuje tworzenie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ — context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
.
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 — context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)
.
To przeciążenie akceptuje również wystąpienia DbParameter jako wartości parametrów. Umożliwia to używanie nazwanych parametrów w ciągu zapytania SQL — context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, Microsoft.EntityFrameworkCore.RawSqlString sql, params object[] parameters) where TEntity : class;
[System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)]
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, Microsoft.EntityFrameworkCore.RawSqlString sql, params object[] parameters) where TEntity : class;
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * Microsoft.EntityFrameworkCore.RawSqlString * obj[] -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
[<System.Obsolete("For returning objects from SQL queries using plain strings, use FromSqlRaw instead. For returning objects from SQL queries using interpolated string syntax to create parameters, use FromSqlInterpolated instead. Call either new method directly on the DbSet at the root of the query.", true)>]
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * Microsoft.EntityFrameworkCore.RawSqlString * obj[] -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As IQueryable(Of TEntity), sql As RawSqlString, ParamArray parameters As Object()) As IQueryable(Of TEntity)
Parametry typu
- TEntity
Typ elementów elementu source
.
Parametry
- source
- IQueryable<TEntity>
Element IQueryable<T> do użycia jako podstawa nieprzetworzonego zapytania SQL (zazwyczaj ).DbSet<TEntity>
- sql
- RawSqlString
Nieprzetworzone zapytanie SQL. NB. Literał ciągu może zostać przekazany tutaj, ponieważ RawSqlString jest niejawnie konwertowany na ciąg.
- parameters
- Object[]
Wartości, które mają być przypisane do parametrów.
Zwraca
Reprezentująca IQueryable<T> nieprzetworzone zapytanie SQL.
- Atrybuty
Dotyczy
FromSql<TEntity>(IQueryable<TEntity>, String, Object[])
Tworzy zapytanie LINQ na podstawie nieprzetworzonego zapytania SQL.
Jeśli dostawca bazy danych obsługuje tworzenie w podanym języku SQL, możesz utworzyć na podstawie nieprzetworzonego zapytania SQL przy użyciu operatorów LINQ — context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)
.
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 — context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)
.
Można również utworzyć parametr DbParameter i podać go jako wartość parametru. Umożliwia to używanie nazwanych parametrów w ciągu zapytania SQL — context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))
public static System.Linq.IQueryable<TEntity> FromSql<TEntity> (this System.Linq.IQueryable<TEntity> source, string sql, params object[] parameters) where TEntity : class;
static member FromSql : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * string * obj[] -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function FromSql(Of TEntity As Class) (source As IQueryable(Of TEntity), sql As String, ParamArray parameters As Object()) As IQueryable(Of TEntity)
Parametry typu
- TEntity
Typ elementów elementu source
.
Parametry
- source
- IQueryable<TEntity>
Element IQueryable<T> do użycia jako podstawa nieprzetworzonego zapytania SQL (zazwyczaj ).DbSet<TEntity>
- sql
- String
Nieprzetworzone zapytanie SQL.
- parameters
- Object[]
Wartości, które mają być przypisane do parametrów.
Zwraca
Reprezentująca IQueryable<T> nieprzetworzone zapytanie SQL.