Freigeben über


ObjectContext Klasse

Definition

Stellt Einrichtungen zum Abfragen 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

In diesem Beispiel wird gezeigt, wie Sie ein 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);

Hinweise

Hinweis

Die ObjectContext-Klasse ist nicht threadsicher. Die Integrität von Datenobjekten in multithread-Szenarien ObjectContext kann nicht sichergestellt 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 kapselt Folgendes:

Wenn die Objektebene, die ein konzeptionelles Modell darstellt, von den Entitätsdatenmodelltools generiert wird, wird die Klasse, die das EntityContainer Modell für das Modell darstellt, von der ObjectContextabgeleitet.

Konstruktoren

Name Beschreibung
ObjectContext(EntityConnection, String)

Initialisiert eine neue Instanz der ObjectContext Klasse mit einem bestimmten Verbindungs- und Entitätscontainernamen.

ObjectContext(EntityConnection)

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

ObjectContext(String, String)

Initialisiert eine neue Instanz der klasse ObjectContext mit einem bestimmten Verbindungszeichenfolge- und Entitätscontainernamen.

ObjectContext(String)

Initialisiert eine neue Instanz der klasse ObjectContext mit dem angegebenen Verbindungszeichenfolge- und Standardentitätscontainernamen.

Eigenschaften

Name Beschreibung
CommandTimeout

Dient zum Abrufen oder Festlegen des Timeoutwerts in Sekunden für alle Objektkontextvorgänge. Ein null Wert 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 enthält, die das Verhalten des ObjectContext.

DefaultContainerName

Dient zum Abrufen oder Festlegen des Standardcontainernamens.

MetadataWorkspace

Ruft den Metadatenarbeitsbereich ab, der vom Objektkontext verwendet wird.

ObjectStateManager

Ruft den Objektstatus-Manager ab, der vom Objektkontext zum Nachverfolgen von Objektänderungen verwendet wird.

QueryProvider

Ruft den LINQ-Abfrageanbieter ab, der diesem Objektkontext zugeordnet ist.

Methoden

Name Beschreibung
AcceptAllChanges()

Akzeptiert alle Änderungen, die an Objekten im Objektkontext vorgenommen wurden.

AddObject(String, Object)

Fügt dem Objektkontext ein Objekt hinzu.

ApplyCurrentValues<TEntity>(String, TEntity)

Kopiert die skalaren Werte aus dem angegebenen Objekt in das Objekt, das ObjectContext denselben Schlüssel aufweist.

ApplyOriginalValues<TEntity>(String, TEntity)

Kopiert die skalaren Werte aus dem angegebenen Objekt in einen Satz ursprünglicher Werte für das Objekt, das ObjectContext denselben Schlüssel aufweist.

ApplyPropertyChanges(String, Object)
Veraltet.

Wendet Eigenschaftsänderungen von einem getrennten Objekt auf ein Objekt an, das bereits dem Objektkontext zugeordnet ist.

Attach(IEntityWithKey)

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

AttachTo(String, Object)

Fügt ein Objekt oder ein Objektdiagramm an den Objektkontext in einem bestimmten Entitätssatz an.

CreateDatabase()

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

CreateDatabaseScript()

Generiert ein DDL-Skript (Data Definition Language), das Schemaobjekte (Tabellen, Primärschlüssel, Fremdschlüssel) für die Metadaten in der StoreItemCollection. Die StoreItemCollection Metadaten werden aus SSDL-Dateien (Store Schema Definition Language) geladen.

CreateEntityKey(String, Object)

Erstellt den Entitätsschlüssel für ein bestimmtes Objekt oder gibt den Entitätsschlüssel zurück, falls er bereits vorhanden ist.

CreateObject<T>()

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

CreateObjectSet<TEntity>()

Erstellt eine neue ObjectSet<TEntity> Instanz, die zum Abfragen, Hinzufügen, Ändern und Löschen von Objekten des angegebenen Entitätstyps verwendet wird.

CreateObjectSet<TEntity>(String)

Erstellt eine neue ObjectSet<TEntity> Instanz, die zum Abfragen, Hinzufügen, Ändern und Löschen von Objekten des angegebenen Typs und mit dem angegebenen Entitätssatznamen verwendet wird.

CreateProxyTypes(IEnumerable<Type>)

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

CreateQuery<T>(String, ObjectParameter[])

Erstellt einen ObjectQuery<T> im aktuellen Objektkontext mithilfe der angegebenen Abfragezeichenfolge.

DatabaseExists()

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

DeleteDatabase()

Löscht die Datenbank, die als Datenbank in der aktuellen Datenquellenverbindung 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 Objekten synchronisiert werden, die von der ObjectStateManager.

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 Funktion aus, die in der Datenquelle definiert und im konzeptionellen Modell ausgedrückt wird; verwirft alle ergebnisse, die von der Funktion zurückgegeben werden; und gibt die Anzahl der Zeilen zurück, die von der Ausführung betroffen sind.

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

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

ExecuteFunction<TElement>(String, ObjectParameter[])

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

ExecuteStoreCommand(String, Object[])

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

ExecuteStoreQuery<TElement>(String, Object[])

Führt eine Abfrage direkt für die Datenquelle aus, die eine Abfolge der eingegebenen Ergebnisse zurückgibt.

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

Führt eine Abfrage direkt für die Datenquelle aus und gibt eine Sequenz der eingegebenen Ergebnisse zurück. Geben Sie den Entitätssatz und die Seriendruckoption an, damit Abfrageergebnisse als Entitäten nachverfolgt werden können.

GetHashCode()

Dient als die Standard-Hashfunktion

(Geerbt von Object)
GetKnownProxyTypes()

Gibt alle vorhandenen Proxytypen zurück.

GetObjectByKey(EntityKey)

Gibt ein Objekt zurück, das den angegebenen Entitätsschlüssel aufweist.

GetObjectType(Type)

Gibt den Entitätstyp der POCO-Entität zurück, die einem Proxyobjekt eines angegebenen Typs zugeordnet ist.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
LoadProperty(Object, String, MergeOption)

Lädt explizit ein Objekt, das mit dem bereitgestellten Objekt durch die angegebene Navigationseigenschaft verknüpft ist, und verwendet die angegebene Zusammenführungsoption.

LoadProperty(Object, String)

Lädt explizit ein Objekt im Zusammenhang mit dem bereitgestellten Objekt durch die angegebene Navigationseigenschaft und verwendet die Standarddruckoption.

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

Lädt explizit ein Objekt, das mit dem bereitgestellten Objekt durch die angegebene LINQ-Abfrage und mithilfe der angegebenen Zusammenführungsoption verknüpft ist.

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

Lädt explizit ein Objekt, das mit dem bereitgestellten Objekt durch die angegebene LINQ-Abfrage und mithilfe der Standarddruckoption verknüpft ist.

MemberwiseClone()

Erstellt eine flache Kopie der 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()

Behält alle Aktualisierungen der Datenquelle bei und setzt die Änderungsnachverfolgung im Objektkontext zurück.

SaveChanges(Boolean)
Veraltet.

Behält alle Aktualisierungen der Datenquelle bei und setzt optional die Änderungsnachverfolgung im Objektkontext zurück.

SaveChanges(SaveOptions)

Speichert alle Aktualisierungen der Datenquelle mit dem angegebenen SaveOptions.

ToString()

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

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

Übersetzt eine DbDataReader Zeile mit Entitätsdaten in Objekte des angeforderten Entitätstyps.

Translate<TEntity>(DbDataReader, String, MergeOption)

Übersetzt eine DbDataReader Zeile mit Entitätsdaten in Objekte des angeforderten Entitätstyps, in einem bestimmten Entitätssatz und mit der angegebenen Zusammenführungsoption.

TryGetObjectByKey(EntityKey, Object)

Gibt ein Objekt zurück, das den angegebenen Entitätsschlüssel aufweist.

Ereignisse

Name Beschreibung
ObjectMaterialized

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

SavingChanges

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

Gilt für:

Weitere Informationen