ObjectContext Klasse

Definition

Stellt Funktionen zum Abfragen von und Arbeiten mit Entitätsdaten als Objekte bereit.

public ref class ObjectContext : IDisposable
public class ObjectContext : IDisposable
type ObjectContext = class
    interface IDisposable
Public Class ObjectContext
Implements IDisposable
Vererbung
ObjectContext
Implementiert

Beispiele

Dieses Beispiel basiert auf den Microsoft SQL Server Produktbeispielen: Datenbank. Das folgende Beispiel zeigt die Vorgehensweise beim Erstellen eines ObjectContext.

// Create the ObjectContext.
ObjectContext context =
    new ObjectContext("name=AdventureWorksEntities");

// Set the DefaultContainerName for the ObjectContext.
// When DefaultContainerName is set, the Entity Framework only
// searches for the type in the specified container.
// Note that if a type is defined only once in the metadata workspace
// you do not have to set the DefaultContainerName.
context.DefaultContainerName = "AdventureWorksEntities";

ObjectSet<Product> query = context.CreateObjectSet<Product>();

// Iterate through the collection of Products.
foreach (Product result in query)
    Console.WriteLine("Product Name: {0}", result.Name);
' Create the ObjectContext. 
Dim context As New ObjectContext("name=AdventureWorksEntities")

' Set the DefaultContainerName for the ObjectContext.
' When DefaultContainerName is set, the Entity Framework only
' searches for the type in the specified container. 
' Note that if a type is defined only once in the metadata workspace
' you do not have to set the DefaultContainerName.
context.DefaultContainerName = "AdventureWorksEntities"

Dim query As ObjectSet(Of Product) = context.CreateObjectSet(Of Product)()

' Iterate through the collection of Products. 
For Each result As Product In query
    Console.WriteLine("Product Name: {0}", result.Name)
Next

Hinweise

Hinweis

Die ObjectContext-Klasse ist nicht threadsicher. Die Integrität von Datenobjekten in einem ObjectContext Multithread-Szenario kann nicht gewährleistet werden.

Die ObjectContext Klasse ist die primäre Klasse für die Interaktion mit Daten als Objekte, die Instanzen von Entitätstypen sind, die in einem konzeptionellen Modell definiert sind. Eine Instanz der ObjectContext-Klasse dient zum Kapseln folgender Objekte:

Wenn die Objektebene, die ein konzeptionelles Modell darstellt, von den Entity Data Model-Tools generiert wird, wird die Klasse, die das EntityContainer Modell darstellt, aus dem ObjectContextabgeleitet.

Konstruktoren

ObjectContext(EntityConnection)

Initialisiert eine neue Instanz der ObjectContext-Klasse mit der angegebenen Verbindung. Während der Konstruktion wird der Metadaten-Arbeitsbereich aus dem EntityConnection-Objekt extrahiert.

ObjectContext(EntityConnection, String)

Initialisiert eine neue Instanz der ObjectContext-Klasse mit einer angegebenen Verbindung und einem angegebenen Entitätencontainernamen.

ObjectContext(String)

Initialisiert eine neue Instanz der ObjectContext-Klasse mit der angegebenen Verbindungszeichenfolge und dem standardmäßigen Entitätencontainernamen.

ObjectContext(String, String)

Initialisiert eine neue Instanz der ObjectContext-Klasse mit einer angegebenen Verbindungszeichenfolge und einem angegebenen Entitätencontainernamen.

Eigenschaften

CommandTimeout

Ruft den Timeoutwert in Sekunden für alle Operationen im Objektkontext ab oder legt diesen fest. Der Wert null gibt an, dass der Standardwert des zugrunde liegenden Anbieters verwendet wird.

Connection

Ruft die vom Objektkontext verwendete Verbindung ab.

ContextOptions

Ruft die ObjectContextOptions-Instanz ab, die Optionen zum Steuern des Verhaltens von ObjectContext enthält.

DefaultContainerName

Ruft den Standardcontainernamen ab oder legt diesen fest.

MetadataWorkspace

Ruft den vom Objektkontext verwendeten Metadaten-Arbeitsbereich ab.

ObjectStateManager

Ruft den Objektstatus-Manager ab, der vom Objektkontext verwendet wird, um Objektänderungen nachzuverfolgen.

QueryProvider

Ruft den zugeordneten LINQ-Abfrageanbieter dieses Objektkontexts ab.

Methoden

AcceptAllChanges()

Übernimmt alle Änderungen, die an Objekten im Objektkontext vorgenommen werden.

AddObject(String, Object)

Fügt dem Objektkontext ein Objekt hinzu.

ApplyCurrentValues<TEntity>(String, TEntity)

Kopiert die Skalarwerte aus dem angegebenen Objekt in das Objekt im ObjectContext, das über den gleichen Schlüssel verfügt.

ApplyOriginalValues<TEntity>(String, TEntity)

Kopiert die skalaren Werte aus dem angegebenen Objekt in den Satz der ursprünglichen Werte des Objekts im ObjectContext, der über den gleichen Schlüssel verfügt.

ApplyPropertyChanges(String, Object)
Veraltet.

Übernimmt Eigenschaftsänderungen eines getrennten Objekts für ein Objekt, das bereits an den Objektkontext angefügt wurde.

Attach(IEntityWithKey)

Fügt ein Objekt oder Objektdiagramm an den Objektkontext an, wenn das Objekt über einen Entitätsschlüssel verfügt.

AttachTo(String, Object)

Fügt ein Objekt oder Objektdiagramm an den Objektkontext in einer bestimmten Entitätenmenge an.

CreateDatabase()

Erstellt die Datenbank mithilfe der aktuellen Datenquellenverbindung und der Metadaten in der StoreItemCollection.

CreateDatabaseScript()

Generiert ein DDL (Data Definition Language)-Skript, das Schemaobjekte (Tabellen, Primärschlüssel, Fremdschlüssel) für die Metadaten in der StoreItemCollection erstellt. StoreItemCollection lädt Metadaten aus SSDL (Datenspeicherschema-Definitionssprache)-Dateien.

CreateEntityKey(String, Object)

Erstellt den Entitätsschlüssel für ein bestimmtes Objekt, oder gibt den Entitätsschlüssel zurück, wenn dieser bereits existiert.

CreateObject<T>()

Erstellt eine Instanz des angeforderten Typs und gibt diese zurück.

CreateObjectSet<TEntity>()

Erstellt eine neue ObjectSet<TEntity>-Instanz, die verwendet wird, um Objekte des angegebenen Entitätstyps abzufragen, hinzuzufügen, zu ändern und zu löschen.

CreateObjectSet<TEntity>(String)

Erstellt eine neue ObjectSet<TEntity>-Instanz, die verwendet wird, um Objekte des angegebenen Typs mit dem angegebenen Entitätenmengennamen abzufragen, hinzuzufügen, zu ändern und zu löschen.

CreateProxyTypes(IEnumerable<Type>)

Generiert einen gleichwertigen Typ, der mit dem Entity Framework für jeden Typ in der angegebenen Enumeration verwendet werden kann.

CreateQuery<T>(String, ObjectParameter[])

Erstellt im aktuellen Objektkontext mit der angegebenen Abfragezeichenfolge eine ObjectQuery<T>.

DatabaseExists()

Überprüft, ob die als Datenbank in der aktuellen Datenquellenverbindung angegebene Datenbank in der Datenquelle vorhanden ist.

DeleteDatabase()

Löscht die Datenbank, die in der aktuellen Datenquellenverbindung als Datenbank angegeben ist.

DeleteObject(Object)

Markiert ein Objekt zum Löschen.

Detach(Object)

Entfernt das Objekt aus dem Objektkontext.

DetectChanges()

Stellt sicher, dass ObjectStateEntry-Änderungen mit Änderungen in allen von ObjectStateManager nachverfolgten Objekten synchronisiert werden.

Dispose()

Gibt die vom Objektkontext verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die vom Objektkontext verwendeten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
ExecuteFunction(String, ObjectParameter[])

Führt eine gespeicherte Prozedur oder eine Funktion aus, die in der Datenquelle definiert ist und im konzeptionellen Modell ausgedrückt wird, verwirft alle von der Funktion zurückgegebenen Ergebnisse, und gibt die von der Ausführung betroffene Anzahl von Zeilen zurück.

ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[])

Führt die angegebene gespeicherte Prozedur oder Funktion, die in der Datenquelle definiert ist und im konzeptionellen Modell ausgedrückt wird, mit den angegebenen Parametern und der angegebenen Zusammenführungsoption aus. Gibt ein typisiertes ObjectResult<T> zurück.

ExecuteFunction<TElement>(String, ObjectParameter[])

Führt eine gespeicherte Prozedur oder eine Funktion, die in der Datenquelle definiert ist und im konzeptionellen Modell zugeordnet wird, mit den angegebenen Parametern aus. Gibt ein typisiertes ObjectResult<T> zurück.

ExecuteStoreCommand(String, Object[])

Führt einen beliebigen Befehl unter Verwendung der vorhandenen Verbindung direkt für die Datenquelle aus.

ExecuteStoreQuery<TElement>(String, Object[])

Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus.

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus. Geben Sie die Entitätenmenge und die Zusammenführungsoption an, damit Abfrageergebnisse als Entitäten nachverfolgt werden können.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetKnownProxyTypes()

Gibt alle vorhandenen Proxytypen zurück.

GetObjectByKey(EntityKey)

Gibt ein Objekt mit dem angegebenen Entitätsschlüssel zurück.

GetObjectType(Type)

Gibt den Entitätstyp der POCO-Entität mit einem Proxyobjekt eines angegebenen Typs zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
LoadProperty(Object, String)

Lädt ein mit dem angegebenen Objekt verbundenes Objekt explizit anhand der angegebenen Navigationseigenschaft und unter Verwendung der standardmäßigen Zusammenführungsoption.

LoadProperty(Object, String, MergeOption)

Lädt ein mit dem angegebenen Objekt verbundenes Objekt explizit anhand der angegebenen Navigationseigenschaft und unter Verwendung der angegebenen Zusammenführungsoption.

LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>)

Lädt ein mit dem angegebenen Objekt verbundenes Objekt explizit anhand der angegebenen LINQ-Abfrage und unter Verwendung der standardmäßigen Zusammenführungsoption.

LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption)

Lädt ein mit dem angegebenen Objekt verbundenes Objekt explizit anhand der angegebenen LINQ-Abfrage und unter Verwendung der angegebenen Zusammenführungsoption.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Refresh(RefreshMode, IEnumerable)

Aktualisiert eine Auflistung von Objekten im Objektkontext mit Daten aus der Datenquelle.

Refresh(RefreshMode, Object)

Aktualisiert ein Objekt im Objektkontext mit Daten aus der Datenquelle.

SaveChanges()

Speichert alle Aktualisierungen der Datenquelle permanent und setzt die Änderungsnachverfolgung im Objektkontext zurück.

SaveChanges(Boolean)
Veraltet.

Speichert alle Aktualisierungen der Datenquelle permanent und setzt optional die Änderungsnachverfolgung im Objektkontext zurück.

SaveChanges(SaveOptions)

Speichert alle Aktualisierungen der Datenquelle permanent mit dem angegebenen SaveOptions.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
Translate<TElement>(DbDataReader)

Übersetzt einen DbDataReader, der Zeilen mit Entitätsdaten enthält, in Objekte des angeforderten Entitätstyps.

Translate<TEntity>(DbDataReader, String, MergeOption)

Übersetzt ein DbDataReader, das Zeilen mit Entitätsdaten enthält, in einer bestimmten Entitätenmenge und mit der angegebenen Zusammenführungsoption in Objekte des angeforderten Entitätstyps.

TryGetObjectByKey(EntityKey, Object)

Gibt ein Objekt mit dem angegebenen Entitätsschlüssel zurück.

Ereignisse

ObjectMaterialized

Tritt auf, wenn im Rahmen einer Abfrage oder eines Ladevorgangs ein neues Entitätsobjekt aus Daten in der Datenquelle erstellt wird.

SavingChanges

Tritt auf, wenn Änderungen in der Datenquelle gespeichert werden.

Gilt für:

Siehe auch