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 | |
---|---|---|
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 | |
---|---|---|
ElementType | Der IQueryable-Elementtyp. (Von DbQuery geerbt.) | |
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 | |
---|---|---|
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. | |
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. | |
AsNoTracking | Gibt eine neue Abfrage zurück, wobei die zurückgegebenen Entitäten nicht im DbContext zwischengespeichert werden. (Von DbQuery geerbt.) | |
AsStreaming | Veraltet. Gibt eine neue Abfrage zurück, die die Ergebnisse streamt, anstatt sie zu puffern. (Von DbQuery geerbt.) | |
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. | |
Cast<TEntity> | Gibt das entsprechende generische DbSet<TEntity>-Objekt zurück. | |
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. | |
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. | |
Equals | Gibt zurück, ob die angegebene Menge gleich der aktuellen Menge ist. (Überschreibt DbQuery.Equals(Object).) | |
Finalize | (Von Object geerbt.) | |
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. | |
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. | |
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. | |
GetHashCode | Gibt die Hashfunktion für die angegebene Menge zurück. (Überschreibt DbQuery.GetHashCode().) | |
GetType | Ruft den Typ für die aktuelle Menge ab. | |
Include | Gibt die verbundenen Objekte an, die in die Abfrageergebnisse eingeschlossen werden sollen. (Von DbQuery geerbt.) | |
MemberwiseClone | (Von Object geerbt.) | |
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. | |
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. | |
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)); | |
ToString | Gibt eine String-Darstellung der zugrunde liegenden Abfrage zurück. (Von DbQuery geerbt.) |
Oben
Explizite Schnittstellen implementierungen
Name | Beschreibung | |
---|---|---|
IListSource.ContainsListCollection | Gibt false zurück. (Von DbQuery geerbt.) | |
IQueryable.Expression | Der IQueryable-LINQ-Ausdruck. (Von DbQuery geerbt.) | |
IEnumerable.GetEnumerator | Gibt einen IEnumerator zurück, der bei der Aufzählung die Abfrage für die Datenbank ausführt. (Von DbQuery geerbt.) | |
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.) | |
IQueryable.Provider | Der IQueryable-Anbieter. (Von DbQuery geerbt.) | |
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.