Freigeben über


DbSet Klasse

Definition

Eine nicht generische Version, die DbSet<TEntity> verwendet werden kann, wenn der Entitätstyp zur Buildzeit nicht bekannt ist.

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification="Name is intentional")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification="Casing is intentional")]
public abstract class DbSet : System.Data.Entity.Infrastructure.DbQuery
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification="Name is intentional")]
public abstract class DbSet : System.Data.Entity.Infrastructure.DbQuery
type DbSet = class
    inherit DbQuery
Public MustInherit Class DbSet
Inherits DbQuery
Vererbung
DbSet
Attribute

Konstruktoren

DbSet()

Erstellt eine instance einesDbSet, wenn vom Konstruktor eines abgeleiteten Typs aufgerufen wird, der als Testdoppel für DbSets verwendet wird. Methoden und Eigenschaften, die vom Testdoppel verwendet werden, müssen vom Testdoppel implementiert werden, mit Ausnahme von AsNoTracking, AsStreaming, ein Include, wobei die Standardimplementierung eine no-op ist.

Eigenschaften

ElementType

Der IQueryable-Elementtyp.

(Geerbt von DbQuery)
Local

Ruft eine ObservableCollection<T> ab, die eine lokale Ansicht aller hinzugefügten, unveränderten und geänderten Entitäten in diesem Satz darstellt. Diese lokale Ansicht bleibt synchron, wenn dem Kontext Entitäten hinzugefügt oder Entitäten aus dem Kontext entfernt werden. Ebenso werden Entitäten, die der lokalen Ansicht hinzugefügt oder aus dieser entfernt werden, automatisch dem Kontext hinzugefügt bzw. aus dem Kontext entfernt.

Sql

Ruft eine String Darstellung der zugrunde liegenden Abfrage ab.

(Geerbt von DbQuery)

Methoden

Add(Object)

Fügt dem Kontext, der dem Satz im Zustand Added zugrunde liegt, die angegebene Entität hinzu, sodass sie beim Aufruf von SaveChanges in die Datenbank eingefügt wird.

AddRange(IEnumerable)

Fügt die angegebene Auflistung von Entitäten dem Satz zugrunde liegenden Kontext hinzu, wobei jede Entität in den Hinzugefügten Zustand versetzt wird, sodass sie in die Datenbank eingefügt wird, wenn SaveChanges aufgerufen wird.

AsNoTracking()

Gibt eine neue Abfrage zurück, bei der die zurückgegebenen Entitäten nicht in zwischengespeichert DbContextwerden.

(Geerbt von DbQuery)
AsStreaming()
Veraltet.

Gibt eine neue Abfrage zurück, die die Ergebnisse streamt, anstatt puffern zu müssen.

(Geerbt von DbQuery)
Attach(Object)

Fügt die angegebene Entität an den Kontext an, der dem Satz zugrunde liegt. Die Entität wird also im Zustand Unchanged, genauso wie beim Lesen der Entität aus der Datenbank, in den Kontext eingefügt.

Cast<TEntity>()

Gibt das entsprechende generische DbSet<TEntity> Objekt zurück.

Create()

Erstellt eine neue Instanz einer Entität für den Typ dieses Satzes. Beachten Sie, dass dieser instance nicht hinzugefügt oder dem Satz angefügt wird. Die zurückgegebene Instanz ist ein Proxy, wenn der zugrunde liegende Kontext zum Erstellen von Proxys konfiguriert ist und der Entitätstyp die Anforderungen zum Erstellen eines Proxys erfüllt.

Create(Type)

Erstellt für den Typ dieses Satzes oder für einen vom Typ dieses Satzes abgeleiteten Typ eine neue Instanz einer Entität. Beachten Sie, dass dieser instance nicht hinzugefügt oder dem Satz angefügt wird. Die zurückgegebene Instanz ist ein Proxy, wenn der zugrunde liegende Kontext zum Erstellen von Proxys konfiguriert ist und der Entitätstyp die Anforderungen zum Erstellen eines Proxys erfüllt.

Equals(Object)

Eine nicht generische Version, die DbSet<TEntity> verwendet werden kann, wenn der Entitätstyp zur Buildzeit nicht bekannt ist.

Find(Object[])

Sucht eine Entität mit den angegebenen Primärschlüsselwerten. Wenn eine Entität mit den angegebenen Primärschlüsselwerten im Kontext vorhanden ist, wird sie sofort zurückgegeben, ohne eine Anforderung an den Speicher auszuführen. Andernfalls wird eine Entität mit den angegebenen Primärschlüsselwerten vom Speicher angefordert, und wenn diese Entität gefunden wird, wird sie an den Kontext angefügt und zurückgegeben. Wenn keine Entität im Kontext oder Speicher gefunden wird, wird NULL zurückgegeben.

FindAsync(CancellationToken, Object[])

Sucht asynchron eine Entität mit den angegebenen Primärschlüsselwerten. Wenn eine Entität mit den angegebenen Primärschlüsselwerten im Kontext vorhanden ist, wird sie sofort zurückgegeben, ohne eine Anforderung an den Speicher auszuführen. Andernfalls wird eine Entität mit den angegebenen Primärschlüsselwerten vom Speicher angefordert, und wenn diese Entität gefunden wird, wird sie an den Kontext angefügt und zurückgegeben. Wenn keine Entität im Kontext oder Speicher gefunden wird, wird NULL zurückgegeben.

FindAsync(Object[])

Sucht asynchron eine Entität mit den angegebenen Primärschlüsselwerten. Wenn eine Entität mit den angegebenen Primärschlüsselwerten im Kontext vorhanden ist, wird sie sofort zurückgegeben, ohne eine Anforderung an den Speicher auszuführen. Andernfalls wird eine Entität mit den angegebenen Primärschlüsselwerten vom Speicher angefordert, und wenn diese Entität gefunden wird, wird sie an den Kontext angefügt und zurückgegeben. Wenn keine Entität im Kontext oder Speicher gefunden wird, wird NULL zurückgegeben.

GetHashCode()

Eine nicht generische Version, die DbSet<TEntity> verwendet werden kann, wenn der Entitätstyp zur Buildzeit nicht bekannt ist.

GetType()

Eine nicht generische Version, die DbSet<TEntity> verwendet werden kann, wenn der Entitätstyp zur Buildzeit nicht bekannt ist.

Include(String)

Gibt die verbundenen Objekte an, die in die Abfrageergebnisse eingeschlossen werden sollen.

(Geerbt von DbQuery)
Remove(Object)

Markiert die angegebene Entität als Deleted, sodass sie beim Aufruf von SaveChanges aus der Datenbank gelöscht wird. Beachten Sie, dass die Entität in einem anderen Zustand im Kontext vorhanden sein muss, bevor diese Methode aufgerufen wird.

RemoveRange(IEnumerable)

Entfernt die angegebene Auflistung von Entitäten aus dem Kontext, der dem Satz zugrunde liegt, wobei jede Entität in den Status Deleted versetzt wird, sodass sie aus der Datenbank gelöscht wird, wenn SaveChanges aufgerufen wird.

SqlQuery(String, Object[])

Erstellt eine unformatierte SQL-Abfrage, die Entitäten in diesem Satz zurückgibt. Standardmäßig werden die zurückgegebenen Entitäten vom Kontext nachverfolgt. dies kann durch Aufrufen von AsNoTracking für das DbRawSqlQuery zurückgegebene geändert werden. Beachten Sie, dass die zurückgegebenen Entitäten immer vom Typ für diese Gruppe und nie von einem abgeleiteten Typ sind. Wenn die abgefragten Tabellen möglicherweise Daten für andere Entitätstypen enthalten, muss die SQL-Abfrage entsprechend geschrieben werden, um sicherzustellen, dass nur Entitäten des richtigen Typs zurückgegeben werden.

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 konvertiert. Kontext. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Beiträge WHERE Author = @p0", userSuppliedAuthor); Alternativ können Sie auch einen DbParameter erstellen und an SqlQuery bereitstellen. Dadurch können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden. Kontext. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Beiträge WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

ToString()

Gibt eine String Darstellung der zugrunde liegenden Abfrage zurück.

(Geerbt von DbQuery)

Explizite Schnittstellenimplementierungen

IDbAsyncEnumerable.GetAsyncEnumerator()

Gibt eine IDbAsyncEnumerator zurück, die bei einer Aufzählung die Abfrage für die Datenbank ausführt.

(Geerbt von DbQuery)
IEnumerable.GetEnumerator()

Gibt eine IEnumerator zurück, die bei einer Aufzählung die Abfrage für die Datenbank ausführt.

(Geerbt von DbQuery)
IListSource.ContainsListCollection

Gibt falsezurück.

(Geerbt von DbQuery)
IListSource.GetList()

Löst eine Ausnahme aus, die angibt, dass das direkte Binden an eine Speicherabfrage nicht unterstützt wird. Füllen Sie stattdessen ein DbSet mit Daten auf, z. B. mithilfe der Load-Erweiterungsmethode, und binden Sie dann an lokale Daten. Für WPF-Bindung an DbSet.Local. Binden Sie für Windows Forms an DbSet.Local.ToBindingList().

(Geerbt von DbQuery)
IQueryable.Expression

Der IQueryable-LINQ-Ausdruck.

(Geerbt von DbQuery)
IQueryable.Provider

Der IQueryable-Anbieter.

(Geerbt von DbQuery)

Gilt für: