Sprache

RelationalQueryableExtensions Klasse

Definition

Relationale datenbankspezifische Erweiterungsmethoden für LINQ-Abfragen.

public static class RelationalQueryableExtensions
[System.Runtime.CompilerServices.Nullable(0)]
public static class RelationalQueryableExtensions
type RelationalQueryableExtensions = class
[<System.Runtime.CompilerServices.Nullable(0)>]
type RelationalQueryableExtensions = class
Public Module RelationalQueryableExtensions
Vererbung
RelationalQueryableExtensions
Attribute

Methoden

Name Beschreibung
AsSingleQuery<TEntity>(IQueryable<TEntity>)

Gibt eine neue Abfrage zurück, die so konfiguriert ist, dass die Auflistungen in der Abfrage in einer einzelnen Datenbankabfrage geladen werden.

AsSplitQuery<TEntity>(IQueryable<TEntity>)

Gibt eine neue Abfrage zurück, die so konfiguriert ist, dass die Auflistungen in den Abfrageergebnissen über separate Datenbankabfragen geladen werden.

CreateDbCommand(IQueryable)

Erstellt eine DbCommand Einrichtung zum Ausführen dieser Abfrage.

ExecuteDelete<TSource>(IQueryable<TSource>)

Löscht alle Datenbankzeilen für die Entitätsinstanzen, die der LINQ-Abfrage aus der Datenbank entsprechen.

ExecuteDeleteAsync<TSource>(IQueryable<TSource>, CancellationToken)

Löscht asynchron Datenbankzeilen für die Entitätsinstanzen, die der LINQ-Abfrage aus der Datenbank entsprechen.

ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>)

Aktualisiert alle Datenbankzeilen für die Entitätsinstanzen, die der LINQ-Abfrage aus der Datenbank entsprechen.

ExecuteUpdateAsync<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>, CancellationToken)

Aktualisiert asynchron Datenbankzeilen für die Entitätsinstanzen, die der LINQ-Abfrage aus der Datenbank entsprechen.

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 Verfassen in der bereitgestellten SQL-Datei unterstützt, können Sie mithilfe von LINQ-Operatoren context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)über die rohe SQL-Abfrage verfassen .

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, jede Benutzereingabe zu parametrisieren, um vor einem SQL-Einfügungsangriff zu schützen. Sie können interpolierte Parameterplatzhalter in die SQL-Abfragezeichenfolge einschließen. Alle interpolierten Parameterwerte, die Sie bereitstellen, werden automatisch in einen DbParameter - 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 Verfassen in der bereitgestellten SQL-Datei unterstützt, können Sie mithilfe von LINQ-Operatoren context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)über die rohe SQL-Abfrage verfassen .

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, jede Benutzereingabe zu parametrisieren, um vor einem SQL-Einfügungsangriff 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 context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)- konvertiert.

Diese Überladung akzeptiert auch DbParameter-Instanzen als Parameterwerte. Auf diese Weise 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 Verfassen in der bereitgestellten SQL-Datei unterstützt, können Sie mithilfe von LINQ-Operatoren context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)über die rohe SQL-Abfrage verfassen .

Wie bei jeder API, die SQL akzeptiert, ist es wichtig, jede Benutzereingabe zu parametrisieren, um vor einem SQL-Einfügungsangriff 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 context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)- konvertiert.

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

FromSqlInterpolated<TEntity>(DbSet<TEntity>, FormattableString)
Veraltet.

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

FromSqlRaw<TEntity>(DbSet<TEntity>, String, Object[])

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

Gilt für: