Udostępnij za pośrednictwem


RelationalQueryableExtensions.FromSql Metoda

Definicja

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 — 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})").

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 — 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))

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))

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>

sql
FormattableString

Ciąg interpolowany reprezentujący zapytanie SQL z parametrami.

Zwraca

IQueryable<TEntity>

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>

sql
FormattableString

Ciąg interpolowany reprezentujący zapytanie SQL.

Zwraca

IQueryable<TEntity>

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

IQueryable<TEntity>

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

IQueryable<TEntity>

Reprezentująca IQueryable<T> nieprzetworzone zapytanie SQL.

Dotyczy