Freigeben über


RelationalQueryableExtensions.FromSql Methode

Definition

Überlädt

FromSql<TEntity>(DbSet<TEntity>, FormattableString)

Erstellt eine LINQ-Abfrage basierend auf einer interpolierten Zeichenfolge, die eine SQL-Abfrage darstellt.

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
Veraltet.

Erstellt eine LINQ-Abfrage basierend auf einer interpolierten Zeichenfolge, die eine SQL-Abfrage darstellt.

Wenn der Datenbankanbieter das Komponieren für die angegebene SQL unterstützt, können Sie die SQL-Rohabfrage mithilfe von LINQ-Operatoren ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)erstellen.

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, alle Benutzereingaben zu parametrisieren, um sich vor einem SQL-Einschleusungsangriff zu schützen. Sie können interpolierte Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen. Alle interpolierten Parameterwerte, die Sie angeben, werden automatisch in einen DbParameter-Wert context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")konvertiert: .

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
Veraltet.

Erstellt eine LINQ-Abfrage basierend auf einer unformatierten SQL-Abfrage.

Wenn der Datenbankanbieter das Komponieren für die angegebene SQL unterstützt, können Sie die SQL-Rohabfrage mithilfe von LINQ-Operatoren ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)erstellen.

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, alle Benutzereingaben zu parametrisieren, um sich vor einem SQL-Einschleusungsangriff zu schützen. Sie können Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen und dann Parameterwerte als zusätzliche Argumente angeben. Alle Parameterwerte, die Sie angeben, werden automatisch in einen DbParameter-Wert context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)konvertiert: .

Diese Überladung akzeptiert auch DbParameter-Instanzen als Parameterwerte. Dadurch können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden: context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

Erstellt eine LINQ-Abfrage basierend auf einer unformatierten SQL-Abfrage.

Wenn der Datenbankanbieter das Komponieren für die angegebene SQL unterstützt, können Sie die SQL-Rohabfrage mithilfe von LINQ-Operatoren ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)erstellen.

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, alle Benutzereingaben zu parametrisieren, um sich vor einem SQL-Einschleusungsangriff zu schützen. Sie können Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen und dann Parameterwerte als zusätzliche Argumente angeben. Alle Parameterwerte, die Sie angeben, werden automatisch in einen DbParameter-Wert context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)konvertiert: .

Sie können auch einen DbParameter erstellen und als Parameterwert angeben. Dadurch können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden: context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSql<TEntity>(DbSet<TEntity>, FormattableString)

Erstellt eine LINQ-Abfrage basierend auf einer interpolierten Zeichenfolge, die eine SQL-Abfrage darstellt.

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)

Typparameter

TEntity

Der Typ der Elemente von source.

Parameter

source
DbSet<TEntity>

Ein IQueryable<T> , der als Basis der interpolierten Zeichenfolgen-SQL-Abfrage verwendet werden soll (in der Regel ).DbSet<TEntity>

sql
FormattableString

Die interpolierte Zeichenfolge, die eine SQL-Abfrage mit Parametern darstellt.

Gibt zurück

IQueryable<TEntity>

Ein IQueryable<T> , der die interpolierte Zeichenfolgen-SQL-Abfrage darstellt.

Hinweise

Wenn der Datenbankanbieter das Verfassen für die angegebene SQL-Instanz unterstützt, können Sie mithilfe von LINQ-Operatoren die Sql-Rohabfrage erstellen.

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, alle Benutzereingaben zu parametrisieren, um sich vor einem SQL-Einschleusungsangriff zu schützen. Sie können interpolierte Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen. Alle interpolierten Parameterwerte, die Sie angeben, werden automatisch in eine DbParameterkonvertiert.

Weitere Informationen und Beispiele finden Sie unter Ausführen von unformatierten SQL-Befehlen mit EF Core .

Gilt für:

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)

Achtung

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.

Erstellt eine LINQ-Abfrage basierend auf einer interpolierten Zeichenfolge, die eine SQL-Abfrage darstellt.

Wenn der Datenbankanbieter das Komponieren für die angegebene SQL unterstützt, können Sie die SQL-Rohabfrage mithilfe von LINQ-Operatoren ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)erstellen.

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, alle Benutzereingaben zu parametrisieren, um sich vor einem SQL-Einschleusungsangriff zu schützen. Sie können interpolierte Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen. Alle interpolierten Parameterwerte, die Sie angeben, werden automatisch in einen DbParameter-Wert context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")konvertiert: .

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)

Typparameter

TEntity

Der Typ der Elemente von source.

Parameter

source
IQueryable<TEntity>

Ein IQueryable<T> , der als Basis der interpolierten Zeichenfolgen-SQL-Abfrage verwendet werden soll (in der Regel ).DbSet<TEntity>

sql
FormattableString

Die interpolierte Zeichenfolge, die eine SQL-Abfrage darstellt.

Gibt zurück

IQueryable<TEntity>

Ein IQueryable<T> , der die interpolierte Zeichenfolgen-SQL-Abfrage darstellt.

Attribute

Gilt für:

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])

Achtung

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.

Erstellt eine LINQ-Abfrage basierend auf einer unformatierten SQL-Abfrage.

Wenn der Datenbankanbieter das Komponieren für die angegebene SQL unterstützt, können Sie die SQL-Rohabfrage mithilfe von LINQ-Operatoren ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)erstellen.

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, alle Benutzereingaben zu parametrisieren, um sich vor einem SQL-Einschleusungsangriff zu schützen. Sie können Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen und dann Parameterwerte als zusätzliche Argumente angeben. Alle Parameterwerte, die Sie angeben, werden automatisch in einen DbParameter-Wert context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)konvertiert: .

Diese Überladung akzeptiert auch DbParameter-Instanzen als Parameterwerte. Dadurch können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden: 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)

Typparameter

TEntity

Der Typ der Elemente von source.

Parameter

source
IQueryable<TEntity>

Ein IQueryable<T> , der als Basis der unformatierten SQL-Abfrage verwendet werden soll (in der Regel ).DbSet<TEntity>

sql
RawSqlString

Die unformatierte SQL-Abfrage. NB. Hier kann ein Zeichenfolgenliteral übergeben werden, da RawSqlString implizit in eine Zeichenfolge konvertiert werden kann.

parameters
Object[]

Die Werte, die Parametern zugewiesen werden sollen.

Gibt zurück

IQueryable<TEntity>

Ein IQueryable<T> , der die unformatierte SQL-Abfrage darstellt.

Attribute

Gilt für:

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

Erstellt eine LINQ-Abfrage basierend auf einer unformatierten SQL-Abfrage.

Wenn der Datenbankanbieter das Komponieren für die angegebene SQL unterstützt, können Sie die SQL-Rohabfrage mithilfe von LINQ-Operatoren ( ) context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)erstellen.

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, alle Benutzereingaben zu parametrisieren, um sich vor einem SQL-Einschleusungsangriff zu schützen. Sie können Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen und dann Parameterwerte als zusätzliche Argumente angeben. Alle Parameterwerte, die Sie angeben, werden automatisch in einen DbParameter-Wert context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)konvertiert: .

Sie können auch einen DbParameter erstellen und als Parameterwert angeben. Dadurch können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden: 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)

Typparameter

TEntity

Der Typ der Elemente von source.

Parameter

source
IQueryable<TEntity>

Ein IQueryable<T> , der als Basis der unformatierten SQL-Abfrage verwendet werden soll (in der Regel ).DbSet<TEntity>

sql
String

Die unformatierte SQL-Abfrage.

parameters
Object[]

Die Werte, die Parametern zugewiesen werden sollen.

Gibt zurück

IQueryable<TEntity>

Ein IQueryable<T> , der die unformatierte SQL-Abfrage darstellt.

Gilt für: