ObjectContext Klasse

Definition

Stellt Funktionen bereit, mit denen Entitätsdaten als Objekte abgefragt und bearbeitet werden können.Provides facilities for querying and working with entity data as objects.

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 dem AdventureWorks Sales-Modell.This example is based on the AdventureWorks Sales Model. Das folgende Beispiel zeigt die Vorgehensweise beim Erstellen eines ObjectContext.The example shows you how to construct an 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.The ObjectContext class is not thread safe. Die Integrität von Datenobjekten in einem ObjectContext kann in Multithread-Szenarien nicht sichergestellt werden.The integrity of data objects in an ObjectContext cannot be ensured in multithreaded scenarios.

Die ObjectContext -Klasse ist die primäre Klasse für die Interaktion mit Daten als Objekte, bei denen es sich um Instanzen von Entitäts Typen handelt, die in einem konzeptionellen Modell definiert sind.The ObjectContext class is the primary class for interacting with data as objects that are instances of entity types that are defined in a conceptual model. Eine Instanz der ObjectContext-Klasse dient zum Kapseln folgender Objekte:An instance of the ObjectContext class encapsulates the following:

Wenn die Objektebene, die ein konzeptionelles Modell darstellt, von den Entity Data Model Tools generiert wird, wird die EntityContainer Klasse, die die für das Modell ObjectContextdarstellt, von abgeleitet.When the object layer that represents a conceptual model is generated by the Entity Data Model tools, the class that represents the EntityContainer for the model is derived from the ObjectContext.

Konstruktoren

ObjectContext(EntityConnection)

Initialisiert eine neue Instanz der ObjectContext-Klasse mit der angegebenen Verbindung.Initializes a new instance of the ObjectContext class with the given connection. Während der Konstruktion wird der Metadaten-Arbeitsbereich aus dem EntityConnection-Objekt extrahiert.During construction, the metadata workspace is extracted from the EntityConnection object.

ObjectContext(EntityConnection, String)

Initialisiert eine neue Instanz der ObjectContext-Klasse mit einer angegebenen Verbindung und einem angegebenen Entitätscontainernamen.Initializes a new instance of the ObjectContext class with a given connection and entity container name.

ObjectContext(String)

Initialisiert eine neue Instanz der ObjectContext-Klasse mit der angegebenen Verbindungszeichenfolge und dem Standardentitätscontainernamen.Initializes a new instance of the ObjectContext class with the given connection string and default entity container name.

ObjectContext(String, String)

Initialisiert eine neue Instanz der ObjectContext-Klasse mit einer angegebenen Verbindungszeichenfolge und einem angegebenen Entitätscontainernamen.Initializes a new instance of the ObjectContext class with a given connection string and entity container name.

Eigenschaften

CommandTimeout

Ruft den Timeoutwert in Sekunden für alle Vorgänge im Objektkontext ab oder legt ihn fest.Gets or sets the timeout value, in seconds, for all object context operations. Der Wert null gibt an, dass der Standardwert des zugrunde liegenden Anbieters verwendet wird.A null value indicates that the default value of the underlying provider will be used.

Connection

Ruft die vom Objektkontext verwendete Verbindung ab.Gets the connection used by the object context.

ContextOptions

Ruft die ObjectContextOptions-Instanz ab, die Optionen zum Steuern des Verhaltens von ObjectContext enthält.Gets the ObjectContextOptions instance that contains options that affect the behavior of the ObjectContext.

DefaultContainerName

Ruft den Standardcontainernamen ab oder legt diesen fest.Gets or sets the default container name.

MetadataWorkspace

Ruft den vom Objektkontext verwendeten Metadaten-Arbeitsbereich ab.Gets the metadata workspace used by the object context.

ObjectStateManager

Ruft den Objektstatus-Manager ab, der vom Objektkontext zum Nachverfolgen von Objektänderungen verwendet wird.Gets the object state manager used by the object context to track object changes.

QueryProvider

Ruft den zugeordneten LINQ-Abfrageanbieter dieses Objektkontexts ab.Gets the LINQ query provider associated with this object context.

Methoden

AcceptAllChanges()

Übernimmt alle Änderungen, die an Objekten im Objektkontext vorgenommen werden.Accepts all changes made to objects in the object context.

AddObject(String, Object)

Fügt dem Objektkontext ein Objekt hinzu.Adds an object to the object context.

ApplyCurrentValues<TEntity>(String, TEntity)

Kopiert die Skalarwerte aus dem angegebenen Objekt in das Objekt im ObjectContext, das über den gleichen Schlüssel verfügt.Copies the scalar values from the supplied object into the object in the ObjectContext that has the same key.

ApplyOriginalValues<TEntity>(String, TEntity)

Kopiert die Skalarwerte aus dem angegebenen Objekt in den Satz von ursprünglichen Werten für das Objekt im ObjectContext, das über den gleichen Schlüssel verfügt.Copies the scalar values from the supplied object into set of original values for the object in the ObjectContext that has the same key.

ApplyPropertyChanges(String, Object)

Übernimmt Eigenschaftsänderungen eines getrennten Objekts für ein Objekt, das bereits an den Objektkontext angefügt wurde.Applies property changes from a detached object to an object already attached to the object context.

Attach(IEntityWithKey)

Fügt ein Objekt oder Objektdiagramm an den Objektkontext an, wenn das Objekt über einen Entitätsschlüssel verfügt.Attaches an object or object graph to the object context when the object has an entity key.

AttachTo(String, Object)

Fügt ein Objekt oder Objektdiagramm an den Objektkontext in einer bestimmten Entitätenmenge an.Attaches an object or object graph to the object context in a specific entity set.

CreateDatabase()

Erstellt die Datenbank mithilfe der aktuellen Datenquellenverbindung und der Metadaten in der StoreItemCollection.Creates the database by using the current data source connection and the metadata in the 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.Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the StoreItemCollection. StoreItemCollection lädt Metadaten aus SSDL-Dateien (Store Schema Definition Language, Datenspeicherschema-Definitionssprache).The StoreItemCollection loads metadata from store schema definition language (SSDL) files.

CreateEntityKey(String, Object)

Erstellt den Entitätsschlüssel für ein bestimmtes Objekt, oder gibt den Entitätsschlüssel zurück, wenn dieser bereits vorhanden ist.Creates the entity key for a specific object, or returns the entity key if it already exists.

CreateObject<T>()

Erstellt eine Instanz des angeforderten Typs und gibt diese zurück.Creates and returns an instance of the requested type .

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.Creates a new ObjectSet<TEntity> instance that is used to query, add, modify, and delete objects of the specified entity type.

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.Creates a new ObjectSet<TEntity> instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name.

CreateProxyTypes(IEnumerable<Type>)

Generiert einen gleichwertigen Typ, der mit dem Entity Framework für jeden Typ in der angegebenen Enumeration verwendet werden kann.Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration.

CreateQuery<T>(String, ObjectParameter[])

Erstellt im aktuellen Objektkontext mit der angegebenen Abfragezeichenfolge ein ObjectQuery<T>.Creates an ObjectQuery<T> in the current object context by using the specified query string.

DatabaseExists()

Überprüft, ob die als Datenbank in der aktuellen Datenquellenverbindung angegebene Datenbank in der Datenquelle vorhanden ist.Checks if the database that is specified as the database in the current data source connection exists on the data source.

DeleteDatabase()

Löscht die Datenbank, die in der aktuellen Datenquellenverbindung als Datenbank angegeben ist.Deletes the database that is specified as the database in the current data source connection.

DeleteObject(Object)

Markiert ein Objekt zum Löschen.Marks an object for deletion.

Detach(Object)

Entfernt das Objekt aus dem Objektkontext.Removes the object from the object context.

DetectChanges()

Stellt sicher, dass ObjectStateEntry-Änderungen mit Änderungen in allen von ObjectStateManager nachverfolgten Objekten synchronisiert werden.Ensures that ObjectStateEntry changes are synchronized with changes in all objects that are tracked by the ObjectStateManager.

Dispose()

Gibt die vom Objektkontext verwendeten Ressourcen frei.Releases the resources used by the object context.

Dispose(Boolean)

Gibt die vom Objektkontext verwendeten Ressourcen frei.Releases the resources used by the object context.

Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(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.Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution.

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.Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. Gibt ein typisiertes ObjectResult<T> zurück.Returns a typed ObjectResult<T>.

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.Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Gibt ein typisiertes ObjectResult<T> zurück.Returns a typed ObjectResult<T>.

ExecuteStoreCommand(String, Object[])

Führt einen beliebigen Befehl unter Verwendung der vorhandenen Verbindung direkt für die Datenquelle aus.Executes an arbitrary command directly against the data source using the existing connection.

ExecuteStoreQuery<TElement>(String, Object[])

Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus.Executes a query directly against the data source that returns a sequence of typed results.

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

Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus.Executes a query directly against the data source and returns a sequence of typed results. Geben Sie die Entitätenmenge und die Zusammenführungsoption an, damit Abfrageergebnisse als Entitäten nachverfolgt werden können.Specify the entity set and the merge option so that query results can be tracked as entities.

GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetKnownProxyTypes()

Gibt alle vorhandenen Proxytypen zurück.Returns all the existing proxy types.

GetObjectByKey(EntityKey)

Gibt ein Objekt mit dem angegebenen Entitätsschlüssel zurück.Returns an object that has the specified entity key.

GetObjectType(Type)

Gibt den Entitätstyp der POCO-Entität mit einem Proxyobjekt eines angegebenen Typs zurück.Returns the entity type of the POCO entity associated with a proxy object of a specified type.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(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.Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option.

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.Explicitly loads an object that is related to the supplied object by the specified navigation property and using the specified merge option.

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.Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option.

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.Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
Refresh(RefreshMode, IEnumerable)

Aktualisiert eine Auflistung von Objekten im Objektkontext mit Daten aus der Datenquelle.Updates a collection of objects in the object context with data from the data source.

Refresh(RefreshMode, Object)

Aktualisiert ein Objekt im Objektkontext mit Daten aus der Datenquelle.Updates an object in the object context with data from the data source.

SaveChanges()

Speichert alle Aktualisierungen der Datenquelle permanent und setzt die Änderungsnachverfolgung im Objektkontext zurück.Persists all updates to the data source and resets change tracking in the object context.

SaveChanges(Boolean)

Speichert alle Aktualisierungen der Datenquelle permanent und setzt optional die Änderungsnachverfolgung im Objektkontext zurück.Persists all updates to the data source and optionally resets change tracking in the object context.

SaveChanges(SaveOptions)

Speichert alle Aktualisierungen der Datenquelle permanent mit dem angegebenen SaveOptions.Persists all updates to the data source with the specified SaveOptions.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

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

Übersetzt einen DbDataReader, der Zeilen mit Entitätsdaten enthält, in Objekte des angeforderten Entitätstyps.Translates a DbDataReader that contains rows of entity data to objects of the requested entity type.

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.Translates a DbDataReader that contains rows of entity data to objects of the requested entity type, in a specific entity set, and with the specified merge option.

TryGetObjectByKey(EntityKey, Object)

Gibt ein Objekt mit dem angegebenen Entitätsschlüssel zurück.Returns an object that has the specified entity key.

Ereignisse

ObjectMaterialized

Tritt auf, wenn im Rahmen einer Abfrage oder eines Ladevorgangs ein neues Entitätsobjekt aus Daten in der Datenquelle erstellt wird.Occurs when a new entity object is created from data in the data source as part of a query or load operation.

SavingChanges

Tritt auf, wenn Änderungen in der Datenquelle gespeichert werden.Occurs when changes are saved to the data source.

Gilt für:

Siehe auch