IIncludableQueryable<TEntity,TProperty> Schnittstelle

Definition

Unterstützt abfragbare Include/ThenInclude-Verkettungsoperatoren.

public interface IIncludableQueryable<out TEntity,out TProperty> : System.Collections.Generic.IEnumerable<out TEntity>, System.Linq.IQueryable<out TEntity>
type IIncludableQueryable<'Entity, 'Property> = interface
    interface IQueryable<'Entity>
    interface seq<'Entity>
    interface IEnumerable
    interface IQueryable
Public Interface IIncludableQueryable(Of Out TEntity, Out TProperty)
Implements IEnumerable(Of Out TEntity), IQueryable(Of Out TEntity)

Typparameter

TEntity

Der Entitätstyp.

Dieser Typparameter ist kovariant. Das bedeutet, dass Sie entweder den angegebenen Typ oder einen stärker abgeleiteten Typ verwenden können. Weitere Informationen zu Kovarianz und Kontravarianz finden Sie unter Kovarianz und Kontravarianz in Generics.
TProperty

Der Eigenschaftentyp.

Dieser Typparameter ist kovariant. Das bedeutet, dass Sie entweder den angegebenen Typ oder einen stärker abgeleiteten Typ verwenden können. Weitere Informationen zu Kovarianz und Kontravarianz finden Sie unter Kovarianz und Kontravarianz in Generics.
Implementiert

Hinweise

Weitere Informationen und Beispiele finden Sie unter Implementierung von Datenbankanbietern und -Erweiterungen und Funktionsweise von EF Core-Abfragen .

Erweiterungsmethoden

WithPartitionKey<TEntity>(IQueryable<TEntity>, String)

Geben Sie den Partitionsschlüssel für die Partition an, die für die Abfrage verwendet wird. Erforderlich bei Verwendung eines Ressourcentokens, das die Berechtigung basierend auf einem Partitionsschlüssel für die Authentifizierung bereitstellt,

AllAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Bestimmt asynchron, ob alle Elemente einer Sequenz eine Bedingung erfüllen.

AnyAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Bestimmt asynchron, ob ein Element einer Sequenz eine Bedingung erfüllt.

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

Bestimmt asynchron, ob eine Sequenz Elemente enthält.

AsAsyncEnumerable<TSource>(IQueryable<TSource>)

Gibt einen IAsyncEnumerable<T> zurück, der asynchron aufgezählt werden kann.

AsNoTracking<TEntity>(IQueryable<TEntity>)

Der Änderungsnachverfolgung verfolgt keine der Entitäten nach, die von einer LINQ-Abfrage zurückgegeben werden. Wenn die Entitätsinstanzen geändert werden, wird dies vom Änderungstracker nicht erkannt und SaveChanges() diese Änderungen nicht in der Datenbank beibehalten.

AsNoTrackingWithIdentityResolution<TEntity>(IQueryable<TEntity>)

Der Änderungsnachverfolgung verfolgt keine der Entitäten nach, die von einer LINQ-Abfrage zurückgegeben werden. Wenn die Entitätsinstanzen geändert werden, wird dies vom Änderungstracker nicht erkannt und SaveChanges() diese Änderungen nicht in der Datenbank beibehalten.

AsTracking<TEntity>(IQueryable<TEntity>)

Gibt eine neue Abfrage zurück, bei der der Änderungsnachverfolgung änderungen für alle zurückgegebenen Entitäten nachverfolgt. Alle Änderungen an den Entitätsinstanzen werden erkannt und in der Datenbank beibehalten SaveChanges().

AsTracking<TEntity>(IQueryable<TEntity>, QueryTrackingBehavior)

Gibt eine neue Abfrage zurück, bei der der Änderungsnachverfolgung abhängig vom Wert des Parameters "track" entweder Änderungen oder nicht für alle zurückgegebenen Entitäten nachverfolgt. Bei der Nachverfolgung wird jede Änderung an den Entitätsinstanzen erkannt und während SaveChanges()der Zeit in der Datenbank beibehalten. Wenn die Entitätsinstanzen geändert werden, wird dies nicht vom Änderungstracker erkannt und SaveChanges() behält diese Änderungen nicht in der Datenbank bei.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

Berechnet asynchron den Durchschnitt einer Sequenz von Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

Berechnet asynchron den Durchschnitt einer Sequenz von Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

Berechnet asynchron den Durchschnitt einer Sequenz von Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

Berechnet asynchron den Durchschnitt einer Sequenz von Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

Berechnet asynchron den Durchschnitt einer Sequenz von Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

Berechnet asynchron den Durchschnitt einer Sequenz von Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

Berechnet asynchron den Durchschnitt einer Sequenz von Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

Berechnet asynchron den Durchschnitt einer Sequenz von Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

Berechnet asynchron den Durchschnitt einer Sequenz von Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

Berechnet asynchron den Durchschnitt einer Sequenz von Werten, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

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

Bestimmt asynchron, ob eine Sequenz ein angegebenes Element enthält, indem der Standardvergleich der Gleichheit verwendet wird.

CountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Gibt asynchron die Anzahl der Elemente in einer Sequenz zurück, die eine Bedingung erfüllen.

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

Gibt asynchron die Anzahl der Elemente in einer Sequenz zurück.

ElementAtAsync<TSource>(IQueryable<TSource>, Int32, CancellationToken)

Gibt asynchron das -Element an einem angegebenen Index in einer Sequenz zurück.

ElementAtOrDefaultAsync<TSource>(IQueryable<TSource>, Int32, CancellationToken)

Gibt asynchron das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn sich der Index außerhalb des Bereichs befindet.

FirstAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Gibt asynchron das erste Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt.

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

Gibt asynchron das erste Element einer Sequenz zurück.

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Gibt asynchron das erste Element einer Sequenz zurück, das eine angegebene Bedingung oder einen Standardwert erfüllt, wenn kein solches Element gefunden wird.

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

Gibt asynchron das erste Element einer Sequenz oder einen Standardwert zurück, wenn die Sequenz keine Elemente enthält.

ForEachAsync<T>(IQueryable<T>, Action<T>, CancellationToken)

Listet die Abfrageergebnisse asynchron auf und führt die angegebene Aktion für jedes Element aus.

IgnoreAutoIncludes<TEntity>(IQueryable<TEntity>)

Gibt an, dass für die aktuelle Entity Framework-LINQ-Abfrage keine vom Typ "Eifer geladenen Navigationen" auf Modellebene angewendet werden soll.

IgnoreQueryFilters<TEntity>(IQueryable<TEntity>)

Gibt an, dass für die aktuelle Entity Framework LINQ-Abfrage keine Entitätsabfragefilter auf Modellebene angewendet werden sollen.

Include<TEntity>(IQueryable<TEntity>, String)

Gibt verwandte Entitäten an, die in die Abfrageergebnisse eingeschlossen werden sollen. Die einzubeziehende Navigationseigenschaft wird ab dem Typ der abgefragten Entität (TEntity) angegeben. Weitere navigationseigenschaften, die eingeschlossen werden sollen, können durch das Zeichen "." getrennt angefügt werden.

Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>)

Gibt verwandte Entitäten an, die in die Abfrageergebnisse eingeschlossen werden sollen. Die einzubeziehende Navigationseigenschaft wird ab dem Typ der abgefragten Entität (TEntity) angegeben. Wenn Sie zusätzliche Typen basierend auf den Navigationseigenschaften des eingeschlossenen Typs einschließen möchten, verketten Sie einen Aufruf ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>) nach diesem Aufruf.

LastAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Gibt asynchron das letzte Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt.

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

Gibt asynchron das letzte Element einer Sequenz zurück.

LastOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Gibt asynchron das letzte Element einer Sequenz zurück, das eine angegebene Bedingung oder einen Standardwert erfüllt, wenn kein solches Element gefunden wird.

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

Gibt asynchron das letzte Element einer Sequenz oder einen Standardwert zurück, wenn die Sequenz keine Elemente enthält.

Load<TSource>(IQueryable<TSource>)

Listet die Abfrage auf. Bei Verwendung von Entity Framework werden die Ergebnisse der Abfrage in den zugeordneten Kontext geladen. Dies entspricht dem Aufrufen von ToList und dem anschließenden Wegwerfen der Liste (ohne den Aufwand der tatsächlichen Erstellung der Liste).

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

Listet die Abfrage asynchron auf. Bei Verwendung von Entity Framework werden die Ergebnisse der Abfrage in den zugeordneten Kontext geladen. Dies entspricht dem Aufrufen von ToList und dem anschließenden Wegwerfen der Liste (ohne den Aufwand der tatsächlichen Erstellung der Liste).

LongCountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Gibt asynchron ein Int64 zurück, das die Anzahl von Elementen in einer Sequenz darstellt, die eine Bedingung erfüllen.

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

Gibt asynchron ein Int64 zurück, das die Gesamtanzahl von Elementen in einer Sequenz darstellt.

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

Gibt asynchron den Maximalwert einer Sequenz zurück.

MaxAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

Ruft asynchron eine Projektionsfunktion für jedes Element einer Sequenz auf und gibt den maximal resultierenden Wert zurück.

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

Gibt asynchron den Mindestwert einer Sequenz zurück.

MinAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

Ruft asynchron eine Projektionsfunktion für jedes Element einer Sequenz auf und gibt den minimalen resultierenden Wert zurück.

SingleAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Gibt asynchron das einzige Element einer Sequenz zurück, das eine angegebene Bedingung erfüllt, und löst eine Ausnahme aus, wenn mehr als ein solches Element vorhanden ist.

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

Gibt asynchron das einzige Element einer Sequenz zurück und löst eine Ausnahme aus, wenn nicht genau ein Element in der Sequenz vorhanden ist.

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

Gibt asynchron das einzige Element einer Sequenz zurück, das eine angegebene Bedingung oder einen Standardwert erfüllt, wenn kein solches Element vorhanden ist. Diese Methode löst eine Ausnahme aus, wenn mehr als ein Element die Bedingung erfüllt.

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

Gibt asynchron das einzige Element einer Sequenz oder einen Standardwert zurück, wenn die Sequenz leer ist; Diese Methode löst eine Ausnahme aus, wenn mehr als ein Element in der Sequenz vorhanden ist.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

Berechnet asynchron die Summe der Wertesequenz, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

Berechnet asynchron die Summe der Wertesequenz, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

Berechnet asynchron die Summe der Wertesequenz, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

Berechnet asynchron die Summe der Wertesequenz, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

Berechnet asynchron die Summe der Wertesequenz, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

Berechnet asynchron die Summe der Wertesequenz, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

Berechnet asynchron die Summe der Wertesequenz, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

Berechnet asynchron die Summe der Wertesequenz, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

Berechnet asynchron die Summe der Wertesequenz, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

Berechnet asynchron die Summe der Wertesequenz, die durch Aufrufen einer Projektionsfunktion für jedes Element der Eingabesequenz abgerufen wird.

TagWith<T>(IQueryable<T>, String)

Fügt der Auflistung von Tags, die einer EF LINQ-Abfrage zugeordnet sind, ein Tag hinzu. Tags sind Abfrageanmerkungen, die kontextbezogene Ablaufverfolgungsinformationen an verschiedenen Stellen in der Abfragepipeline bereitstellen können.

TagWithCallSite<T>(IQueryable<T>, String, Int32)

Fügt der Auflistung von Tags, die einer EF LINQ-Abfrage zugeordnet sind, mit dem Quelldateinamen und der Zeile, in der die Methode aufgerufen wurde, ein Tag hinzu, das kontextbezogene Ablaufverfolgungsinformationen an verschiedenen Stellen in der Abfragepipeline bereitstellen kann.

ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,TPreviousProperty>, Expression<Func<TPreviousProperty,TProperty>>)

Gibt zusätzliche verwandte Daten an, die basierend auf einem verknüpften Typ, der gerade eingeschlossen wurde, weiter eingeschlossen werden sollen.

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

Erstellt asynchron ein Array aus einem IQueryable<T> , indem es asynchron aufgezählt wird.

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>, CancellationToken)

Erstellt eine Dictionary<TKey,TValue> aus einem IQueryable<T> , indem sie asynchron gemäß einer angegebenen Schlüsselauswahlfunktion und einem Vergleichsvorgang aufgelistet wird.

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, CancellationToken)

Erstellt ein Dictionary<TKey,TValue> aus einem IQueryable<T> , indem es asynchron gemäß einer angegebenen Schlüsselauswahlfunktion aufgezählt wird.

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>, CancellationToken)

Erstellt eine Dictionary<TKey,TValue> aus einem IQueryable<T> , indem sie asynchron gemäß einer angegebenen Schlüsselauswahlfunktion, einem Vergleichsvorgang und einer Elementauswahlfunktion aufgelistet wird.

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, CancellationToken)

Erstellt eine Dictionary<TKey,TValue> aus einem IQueryable<T> , indem sie asynchron gemäß einer angegebenen Schlüsselauswahl und einer Elementauswahlfunktion aufgelistet wird.

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

Erstellt asynchron ein List<T> aus einem IQueryable<T> , indem es asynchron aufgezählt wird.

AsSingleQuery<TEntity>(IQueryable<TEntity>)

Gibt eine neue Abfrage zurück, die zum Laden der Sammlungen in den Abfrageergebnissen in einer einzelnen Datenbankabfrage konfiguriert ist.

AsSplitQuery<TEntity>(IQueryable<TEntity>)

Gibt eine neue Abfrage zurück, die zum Laden der Sammlungen in den Abfrageergebnissen über separate Datenbankabfragen konfiguriert ist.

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

Updates alle Datenbankzeilen für die Entitätsinstanzen, die mit der LINQ-Abfrage aus der Datenbank übereinstimmen.

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>(IQueryable<TEntity>, RawSqlString, Object[])
Veraltet..

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

Wenn der Datenbankanbieter das Verfassen 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 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 von Ihnen angegebenen Parameterwerte werden automatisch in einen DbParameter 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>, FormattableString)
Veraltet..

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

Wenn der Datenbankanbieter das Verfassen 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>, 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))

Gilt für: