Freigeben über


DbSet-Klasse

[Diese Seite bezieht sich auf Entity Framework Version 6. Die neueste Version ist als 'Entity Framework' NuGet-Paket verfügbar. Weitere Informationen zu Entity Framework finden Sie unter msdn.com/data/ef.]

Eine nicht generische Version von DbSet<TEntity>, die verwendet werden kann, wenn der Typ der Entität zur Erstellungszeit nicht bekannt ist.

Vererbungshierarchie

System.Object
  System.Data.Entity.Infrastructure.DbQuery
    System.Data.Entity.DbSet

Namespace:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

Syntax

'Declaration
<SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification := "Name is intentional")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")> _
Public MustInherit Class DbSet _
    Inherits DbQuery
'Usage
Dim instance As DbSet
[SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "Name is intentional")]
[SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")]
public abstract class DbSet : DbQuery
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = L"Name is intentional")]
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1010:CollectionsShouldImplementGenericInterface")]
public ref class DbSet abstract : public DbQuery
[<AbstractClassAttribute>]
[<SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "Name is intentional")>]
[<SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")>]
type DbSet =  
    class 
        inherit DbQuery 
    end
public abstract class DbSet extends DbQuery

Der DbSet-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Geschützte Methode DbSet Erstellt eine Instanz einer DbSet beim Aufruf durch den Konstruktor eines abgeleiteten Typs, der als Test-Double für DbSets verwendet wird.Methoden und Eigenschaften, die vom Test-Double verwendet werden sollen, müssen vom Test-Double implementiert werden, außer AsNoTracking, AsStreaming, ein Include, wo die Standardimplementierung keine Option ist.

Oben

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft ElementType Der IQueryable-Elementtyp. (Von DbQuery geerbt.)
Öffentliche Eigenschaft Local Ruft eine ObservableCollection<T> ab, die eine lokale Ansicht aller Entitäten im Zustand Added, Unchanged und Modified 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.

Oben

Methoden

  Name Beschreibung
Öffentliche Methode Add 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.
Öffentliche Methode AddRange Fügt die gegebene Auflistung von Entitäten dem der Menge zugrundeliegenden Kontext hinzu, wobei die einzelnen Entitäten den Zustand "Added" erhalten, sodass sie beim Aufruf von "SaveChanges" in die Datenbank eingefügt werden.
Öffentliche Methode AsNoTracking Gibt eine neue Abfrage zurück, wobei die zurückgegebenen Entitäten nicht im DbContext zwischengespeichert werden. (Von DbQuery geerbt.)
Öffentliche Methode AsStreaming Veraltet. Gibt eine neue Abfrage zurück, die die Ergebnisse streamt, anstatt sie zu puffern. (Von DbQuery geerbt.)
Öffentliche Methode Attach 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.
Öffentliche Methode Cast<TEntity> Gibt das entsprechende generische DbSet<TEntity>-Objekt zurück.
Öffentliche Methode Create() Erstellt eine neue Instanz einer Entität für den Typ dieser Menge.Beachten Sie, dass diese Instanz der Menge NICHT hinzugefügt oder 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.
Öffentliche Methode Create(Type) Erstellt für den Typ dieser Menge oder für einen vom Typ dieser Menge abgeleiteten Typ eine neue Instanz einer Entität.Beachten Sie, dass diese Instanz der Menge NICHT hinzugefügt oder 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.
Öffentliche Methode Equals Gibt zurück, ob die angegebene Menge gleich der aktuellen Menge ist. (Überschreibt DbQuery.Equals(Object).)
Geschützte Methode Finalize (Von Object geerbt.)
Öffentliche Methode Find 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.
Öffentliche Methode 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.
Öffentliche Methode 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.
Öffentliche Methode GetHashCode Gibt die Hashfunktion für die angegebene Menge zurück. (Überschreibt DbQuery.GetHashCode().)
Öffentliche Methode GetType Ruft den Typ für die aktuelle Menge ab.
Öffentliche Methode Include Gibt die verbundenen Objekte an, die in die Abfrageergebnisse eingeschlossen werden sollen. (Von DbQuery geerbt.)
Geschützte Methode MemberwiseClone (Von Object geerbt.)
Öffentliche Methode Remove 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.
Öffentliche Methode RemoveRange Entfernt die gegebene Auflistung von Entitäten aus dem der Menge zugrundeliegenden Kontext, wobei die einzelnen Entitäten den Zustand "Deleted" erhalten, sodass sie beim Aufruf von "SaveChanges" aus der Datenbank gelöscht werden.
Öffentliche Methode SqlQuery Erstellt eine unformatierte SQL-Abfrage, die Entitäten in dieser Menge zurückgibt.Standardmäßig werden die zurückgegebenen Entitäten vom Kontext nachverfolgt. Diese Einstellung kann durch Aufruf von AsNoTracking für die zurückgegebene DbRawSqlQuery geändert werden.Beachten Sie, dass die zurückgegebenen Entitäten immer vom Typ für diesen Satz 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 allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.Set(typeof(Blog)).SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Öffentliche Methode ToString Gibt eine String-Darstellung der zugrunde liegenden Abfrage zurück. (Von DbQuery geerbt.)

Oben

Explizite Schnittstellen implementierungen

  Name Beschreibung
Explizite SchnittstellenimplementierungPrivate Eigenschaft IListSource.ContainsListCollection Gibt false zurück. (Von DbQuery geerbt.)
Explizite SchnittstellenimplementierungPrivate Eigenschaft IQueryable.Expression Der IQueryable-LINQ-Ausdruck. (Von DbQuery geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IEnumerable.GetEnumerator Gibt einen IEnumerator zurück, der bei der Aufzählung die Abfrage für die Datenbank ausführt. (Von DbQuery geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode 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. mit der Load-Erweiterungsmethode, und führen Sie dann eine Bindung an lokale Daten aus.Für die WPF-Bindung zu DbSet.Local.Binden Sie für Windows Forms an DbSet.Local.ToBindingList(). (Von DbQuery geerbt.)
Explizite SchnittstellenimplementierungPrivate Eigenschaft IQueryable.Provider Der IQueryable-Anbieter. (Von DbQuery geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IDbAsyncEnumerable.GetAsyncEnumerator Gibt einen IDbAsyncEnumerator zurück, der bei der Aufzählung die Abfrage für die Datenbank ausführt. (Von DbQuery geerbt.)

Oben

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Verweis

System.Data.Entity-Namespace