ObjectContext Klasa

Definicja

Oferuje funkcje do wykonywania zapytań i pracy z danymi jednostki jako obiektami.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
Dziedziczenie
ObjectContext
Implementuje

Przykłady

Ten przykład jest oparty na Microsoft SQL Server przykładach produktu: Database.This example is based on the Microsoft SQL Server Product Samples: Database. W przykładzie pokazano, jak utworzyć 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

Uwagi

Uwaga

Klasa ObjectContext nie jest bezpieczna wątkowo.The ObjectContext class is not thread safe. Nie można zapewnić integralności obiektów danych w ObjectContext w scenariuszach wielowątkowych.The integrity of data objects in an ObjectContext cannot be ensured in multithreaded scenarios.

Klasa ObjectContext jest klasą podstawową służącą do współdziałania z danymi jako obiekty, które są wystąpieniami typów jednostek, które są zdefiniowane w modelu koncepcyjnym.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. Wystąpienie klasy ObjectContext hermetyzuje następujące elementy:An instance of the ObjectContext class encapsulates the following:

Gdy warstwa obiektu reprezentująca model koncepcyjny jest generowana przez narzędzia Entity Data Model, Klasa, która reprezentuje EntityContainer dla modelu, pochodzi od ObjectContext.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.

Konstruktory

ObjectContext(EntityConnection)

Inicjuje nowe wystąpienie klasy ObjectContext z podanym połączeniem.Initializes a new instance of the ObjectContext class with the given connection. Podczas konstruowania obszar roboczy metadanych jest wyodrębniany z obiektu EntityConnection.During construction, the metadata workspace is extracted from the EntityConnection object.

ObjectContext(EntityConnection, String)

Inicjuje nowe wystąpienie klasy ObjectContext z danym połączeniem i nazwą kontenera jednostek.Initializes a new instance of the ObjectContext class with a given connection and entity container name.

ObjectContext(String)

Inicjuje nowe wystąpienie klasy ObjectContext z podanym ciągiem połączenia i nazwą kontenera jednostki domyślnej.Initializes a new instance of the ObjectContext class with the given connection string and default entity container name.

ObjectContext(String, String)

Inicjuje nowe wystąpienie klasy ObjectContext z podanym ciągiem połączenia i nazwą kontenera jednostek.Initializes a new instance of the ObjectContext class with a given connection string and entity container name.

Właściwości

CommandTimeout

Pobiera lub ustawia wartość limitu czasu (w sekundach) dla wszystkich operacji kontekstu obiektu.Gets or sets the timeout value, in seconds, for all object context operations. Wartość null wskazuje, że zostanie użyta wartość domyślna dostawcy.A null value indicates that the default value of the underlying provider will be used.

Connection

Pobiera połączenie używane przez kontekst obiektu.Gets the connection used by the object context.

ContextOptions

Pobiera wystąpienie ObjectContextOptions, które zawiera opcje, które mają wpływ na zachowanie ObjectContext.Gets the ObjectContextOptions instance that contains options that affect the behavior of the ObjectContext.

DefaultContainerName

Pobiera lub ustawia domyślną nazwę kontenera.Gets or sets the default container name.

MetadataWorkspace

Pobiera obszar roboczy metadanych używany przez kontekst obiektu.Gets the metadata workspace used by the object context.

ObjectStateManager

Pobiera menedżera stanu obiektów używanego przez kontekst obiektu do śledzenia zmian obiektów.Gets the object state manager used by the object context to track object changes.

QueryProvider

Pobiera dostawcę zapytania LINQ skojarzonego z tym kontekstem obiektu.Gets the LINQ query provider associated with this object context.

Metody

AcceptAllChanges()

Akceptuje wszystkie zmiany wprowadzone do obiektów w kontekście obiektu.Accepts all changes made to objects in the object context.

AddObject(String, Object)

Dodaje obiekt do kontekstu obiektu.Adds an object to the object context.

ApplyCurrentValues<TEntity>(String, TEntity)

Kopiuje wartości skalarne z podanego obiektu do obiektu w ObjectContext, który ma ten sam klucz.Copies the scalar values from the supplied object into the object in the ObjectContext that has the same key.

ApplyOriginalValues<TEntity>(String, TEntity)

Kopiuje wartości skalarne z podanego obiektu do zestawu oryginalnych wartości dla obiektu w ObjectContext, który ma ten sam klucz.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)

Stosuje zmiany właściwości z odłączonego obiektu do obiektu już dołączonego do kontekstu obiektu.Applies property changes from a detached object to an object already attached to the object context.

Attach(IEntityWithKey)

Dołącza obiekt lub wykres obiektu do kontekstu obiektu, gdy obiekt ma klucz jednostkowy.Attaches an object or object graph to the object context when the object has an entity key.

AttachTo(String, Object)

Dołącza obiekt lub wykres obiektu do kontekstu obiektu w określonym zestawie jednostek.Attaches an object or object graph to the object context in a specific entity set.

CreateDatabase()

Tworzy bazę danych przy użyciu bieżącego połączenia ze źródłem danych i metadanych w StoreItemCollection.Creates the database by using the current data source connection and the metadata in the StoreItemCollection.

CreateDatabaseScript()

Generuje skrypt języka definicji danych (DDL), który tworzy obiekty schematu (tabele, klucze podstawowe, klucze obce) dla metadanych w StoreItemCollection.Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the StoreItemCollection. StoreItemCollection ładuje metadane z plików SSDL (Store Definition Language).The StoreItemCollection loads metadata from store schema definition language (SSDL) files.

CreateEntityKey(String, Object)

Tworzy klucz jednostki dla określonego obiektu lub zwraca klucz jednostki, jeśli już istnieje.Creates the entity key for a specific object, or returns the entity key if it already exists.

CreateObject<T>()

Tworzy i zwraca wystąpienie żądanego typu.Creates and returns an instance of the requested type .

CreateObjectSet<TEntity>()

Tworzy nowe wystąpienie ObjectSet<TEntity>, które jest używane do wykonywania zapytań, dodawania, modyfikowania i usuwania obiektów określonego typu jednostki.Creates a new ObjectSet<TEntity> instance that is used to query, add, modify, and delete objects of the specified entity type.

CreateObjectSet<TEntity>(String)

Tworzy nowe wystąpienie ObjectSet<TEntity>, które jest używane do wykonywania zapytań, dodawania, modyfikowania i usuwania obiektów określonego typu oraz z określoną nazwą zestawu jednostek.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>)

Generuje odpowiedni typ, który może być używany z Entity Framework dla każdego typu w podanym wyliczeniu.Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration.

CreateQuery<T>(String, ObjectParameter[])

Tworzy ObjectQuery<T> w bieżącym kontekście obiektu przy użyciu określonego ciągu zapytania.Creates an ObjectQuery<T> in the current object context by using the specified query string.

DatabaseExists()

Sprawdza, czy baza danych określona jako baza danych w bieżącym połączeniu źródła danych istnieje w źródle danych.Checks if the database that is specified as the database in the current data source connection exists on the data source.

DeleteDatabase()

Usuwa bazę danych, która została określona jako baza danych w bieżącym połączeniu ze źródłem danych.Deletes the database that is specified as the database in the current data source connection.

DeleteObject(Object)

Oznacza obiekt do usunięcia.Marks an object for deletion.

Detach(Object)

Usuwa obiekt z kontekstu obiektu.Removes the object from the object context.

DetectChanges()

Zapewnia, że zmiany ObjectStateEntry są synchronizowane ze zmianami we wszystkich obiektach, które są śledzone przez ObjectStateManager.Ensures that ObjectStateEntry changes are synchronized with changes in all objects that are tracked by the ObjectStateManager.

Dispose()

Zwalnia zasoby używane przez kontekst obiektu.Releases the resources used by the object context.

Dispose(Boolean)

Zwalnia zasoby używane przez kontekst obiektu.Releases the resources used by the object context.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
ExecuteFunction(String, ObjectParameter[])

Wykonuje procedurę składowaną lub funkcję zdefiniowaną w źródle danych i wyrażoną w modelu koncepcyjnym; odrzuca wszystkie wyniki zwrócone przez funkcję; i zwraca liczbę wierszy, na które ma wpływ wykonanie.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[])

Wykonuje daną procedurę składowaną lub funkcję zdefiniowaną w źródle danych i wyrażoną w modelu koncepcyjnym, z określonymi parametrami i opcją scalania.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. Zwraca wpisaną ObjectResult<T>.Returns a typed ObjectResult<T>.

ExecuteFunction<TElement>(String, ObjectParameter[])

Wykonuje procedurę składowaną lub funkcję zdefiniowaną w źródle danych i zamapowane w modelu koncepcyjnym z określonymi parametrami.Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Zwraca wpisaną ObjectResult<T>.Returns a typed ObjectResult<T>.

ExecuteStoreCommand(String, Object[])

Wykonuje dowolne polecenie bezpośrednio względem źródła danych przy użyciu istniejącego połączenia.Executes an arbitrary command directly against the data source using the existing connection.

ExecuteStoreQuery<TElement>(String, Object[])

Wykonuje zapytanie bezpośrednio względem źródła danych, które zwraca sekwencję wpisanych wyników.Executes a query directly against the data source that returns a sequence of typed results.

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

Wykonuje zapytanie bezpośrednio względem źródła danych i zwraca sekwencję wpisanych wyników.Executes a query directly against the data source and returns a sequence of typed results. Określ zestaw jednostek i opcję scalania, aby wyniki zapytania mogły być śledzone jako jednostki.Specify the entity set and the merge option so that query results can be tracked as entities.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetKnownProxyTypes()

Zwraca wszystkie istniejące typy proxy.Returns all the existing proxy types.

GetObjectByKey(EntityKey)

Zwraca obiekt, który ma określony klucz jednostki.Returns an object that has the specified entity key.

GetObjectType(Type)

Zwraca typ jednostki jednostki POCO skojarzonej z obiektem proxy określonego typu.Returns the entity type of the POCO entity associated with a proxy object of a specified type.

GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
LoadProperty(Object, String)

Jawnie ładuje obiekt związany z podanym obiektem przez określoną właściwość nawigacji i korzystając z opcji scalania domyślnego.Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option.

LoadProperty(Object, String, MergeOption)

Jawnie ładuje obiekt, który jest powiązany z podanym obiektem przez określoną właściwość nawigacji i używając określonej opcji scalania.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>>)

Jawnie ładuje obiekt, który jest powiązany z podanym obiektem przez określoną kwerendę LINQ i przy użyciu opcji scalania domyślnego.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)

Jawnie ładuje obiekt, który jest powiązany z podanym obiektem przez określoną kwerendę LINQ i przy użyciu określonej opcji scalania.Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option.

MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
Refresh(RefreshMode, IEnumerable)

Aktualizuje kolekcję obiektów w kontekście obiektu za pomocą danych ze źródła danych.Updates a collection of objects in the object context with data from the data source.

Refresh(RefreshMode, Object)

Aktualizuje obiekt w kontekście obiektu za pomocą danych ze źródła danych.Updates an object in the object context with data from the data source.

SaveChanges()

Utrzymuje wszystkie aktualizacje źródła danych i resetuje śledzenie zmian w kontekście obiektu.Persists all updates to the data source and resets change tracking in the object context.

SaveChanges(Boolean)

Utrzymuje wszystkie aktualizacje źródła danych i opcjonalnie resetuje śledzenie zmian w kontekście obiektu.Persists all updates to the data source and optionally resets change tracking in the object context.

SaveChanges(SaveOptions)

Utrzymuje wszystkie aktualizacje źródła danych o określonym SaveOptions.Persists all updates to the data source with the specified SaveOptions.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
Translate<TElement>(DbDataReader)

Tłumaczy DbDataReader zawierający wiersze danych jednostki do obiektów żądanego typu jednostki.Translates a DbDataReader that contains rows of entity data to objects of the requested entity type.

Translate<TEntity>(DbDataReader, String, MergeOption)

Tłumaczy DbDataReader zawierający wiersze danych jednostki do obiektów żądanego typu jednostki, w określonym zestawie jednostek oraz z określoną opcją scalania.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)

Zwraca obiekt, który ma określony klucz jednostki.Returns an object that has the specified entity key.

Zdarzenia

ObjectMaterialized

Występuje, gdy nowy obiekt Entity jest tworzony na podstawie danych w źródle danych w ramach zapytania lub operacji ładowania.Occurs when a new entity object is created from data in the data source as part of a query or load operation.

SavingChanges

Występuje, gdy zmiany są zapisywane w źródle danych.Occurs when changes are saved to the data source.

Dotyczy

Zobacz też