ObjectContext Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje možnosti pro dotazování a práci s daty entit jako objekty.
public ref class ObjectContext : IDisposable
public class ObjectContext : IDisposable
type ObjectContext = class
interface IDisposable
Public Class ObjectContext
Implements IDisposable
- Dědičnost
-
ObjectContext
- Implementuje
Příklady
Tento příklad ukazuje, jak vytvořit .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);
Poznámky
Poznámka
Třída ObjectContext není bezpečná pro přístup z více vláken. Integritu datových objektů v objektu ObjectContext nelze ve scénářích s více vlákny zajistit.
Třída ObjectContext je primární třídou pro interakci s daty jako objekty, které jsou instancemi typů entit definovaných v koncepčním modelu. Instance ObjectContext třídy zapouzdřuje následující:
Připojení k databázi ve formě objektu EntityConnection .
Metadata, která popisují model ve formě objektu MetadataWorkspace .
Objekt ObjectStateManager , který spravuje objekty uložené v mezipaměti.
Když je vrstva objektu, která představuje koncepční model, vygenerována nástroji Entity Data Model, třída, která představuje EntityContainer pro model, je odvozena z ObjectContexttřídy .
Konstruktory
ObjectContext(EntityConnection) |
Inicializuje novou instanci ObjectContext třídy s daným připojením. Během vytváření se pracovní prostor metadat extrahuje z objektu EntityConnection . |
ObjectContext(EntityConnection, String) |
Inicializuje novou instanci ObjectContext třídy s daným připojením a názvem kontejneru entity. |
ObjectContext(String) |
Inicializuje novou instanci ObjectContext třídy s daným připojovacím řetězcem a výchozím názvem kontejneru entity. |
ObjectContext(String, String) |
Inicializuje novou instanci ObjectContext třídy s daným připojovacím řetězcem a názvem kontejneru entity. |
Vlastnosti
CommandTimeout |
Získá nebo nastaví hodnotu časového limitu v sekundách pro všechny operace kontextu objektu. Hodnota |
Connection |
Získá připojení používané kontextem objektu. |
ContextOptions |
ObjectContextOptions Získá instanci, která obsahuje možnosti, které ovlivňují chování ObjectContext. |
DefaultContainerName |
Získá nebo nastaví výchozí název kontejneru. |
MetadataWorkspace |
Získá metadata pracovní prostor používaný kontext objektu. |
ObjectStateManager |
Získá správce stavu objektu používaný kontext objektu ke sledování změn objektu. |
QueryProvider |
Získá LINQ zprostředkovatele dotazu přidruženého k tomuto kontextu objektu. |
Metody
AcceptAllChanges() |
Akceptuje všechny změny provedené u objektů v kontextu objektu. |
AddObject(String, Object) |
Přidá objekt do kontextu objektu. |
ApplyCurrentValues<TEntity>(String, TEntity) |
Zkopíruje skalární hodnoty ze zadaného objektu do objektu ObjectContext , který má stejný klíč. |
ApplyOriginalValues<TEntity>(String, TEntity) |
Zkopíruje skalární hodnoty ze zadaného objektu do sady původních hodnot pro objekt, ObjectContext který má stejný klíč. |
ApplyPropertyChanges(String, Object) |
Zastaralé.
Použije změny vlastností z odpojeného objektu na objekt, který je již připojen ke kontextu objektu. |
Attach(IEntityWithKey) |
Připojí objekt nebo graf objektu ke kontextu objektu, pokud má objekt klíč entity. |
AttachTo(String, Object) |
Připojí objekt nebo graf objektů ke kontextu objektu v konkrétní sadě entit. |
CreateDatabase() |
Vytvoří databázi pomocí aktuálního připojení ke zdroji dat a metadat v objektu StoreItemCollection. |
CreateDatabaseScript() |
Vygeneruje skript jazyka DDL (Data Definition Language), který vytvoří objekty schématu (tabulky, primární klíče, cizí klíče) pro metadata v objektu StoreItemCollection. Načte StoreItemCollection metadata ze souborů jazyka SSDL (Store Schema Definition Language). |
CreateEntityKey(String, Object) |
Vytvoří klíč entity pro konkrétní objekt nebo vrátí klíč entity, pokud už existuje. |
CreateObject<T>() |
Vytvoří a vrátí instanci požadovaného typu . |
CreateObjectSet<TEntity>() |
Vytvoří novou ObjectSet<TEntity> instanci, která se používá k dotazování, přidání, úpravě a odstranění objektů zadaného typu entity. |
CreateObjectSet<TEntity>(String) |
Vytvoří novou ObjectSet<TEntity> instanci, která se používá k dotazování, přidání, úpravě a odstranění objektů zadaného typu a se zadaným názvem sady entit. |
CreateProxyTypes(IEnumerable<Type>) |
Generuje ekvivalentní typ, který lze použít s Entity Framework pro každý typ v zadaném výčtu. |
CreateQuery<T>(String, ObjectParameter[]) |
ObjectQuery<T> Vytvoří v aktuálním kontextu objektu pomocí zadaného řetězce dotazu. |
DatabaseExists() |
Zkontroluje, jestli databáze, která je zadaná jako databáze v aktuálním připojení ke zdroji dat, existuje ve zdroji dat. |
DeleteDatabase() |
Odstraní databázi, která je zadána jako databáze v aktuálním připojení ke zdroji dat. |
DeleteObject(Object) |
Označí objekt k odstranění. |
Detach(Object) |
Odebere objekt z kontextu objektu. |
DetectChanges() |
Zajišťuje synchronizaci ObjectStateEntry změn se změnami ve všech objektech sledovaných objektem ObjectStateManager. |
Dispose() |
Uvolní prostředky používané kontextem objektu. |
Dispose(Boolean) |
Uvolní prostředky používané kontextem objektu. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
ExecuteFunction(String, ObjectParameter[]) |
Spustí uloženou proceduru nebo funkci, která je definována ve zdroji dat a vyjádřena v konceptuálním modelu; zahodí všechny výsledky vrácené z funkce; a vrátí počet řádků ovlivněných spuštěním. |
ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[]) |
Spustí danou uloženou proceduru nebo funkci, která je definována ve zdroji dat a vyjádřena v konceptuálním modelu, se zadanými parametry a možností sloučení. Vrátí typovou ObjectResult<T>hodnotu . |
ExecuteFunction<TElement>(String, ObjectParameter[]) |
Spustí uloženou proceduru nebo funkci, která je definována ve zdroji dat a mapována v konceptuálním modelu se zadanými parametry. Vrátí typovou ObjectResult<T>hodnotu . |
ExecuteStoreCommand(String, Object[]) |
Spustí libovolný příkaz přímo proti zdroji dat pomocí existujícího připojení. |
ExecuteStoreQuery<TElement>(String, Object[]) |
Spustí dotaz přímo na zdroj dat, který vrátí sekvenci zadaných výsledků. |
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[]) |
Spustí dotaz přímo na zdroj dat a vrátí sekvenci zadaných výsledků. Zadejte sadu entit a možnost sloučení, aby bylo možné výsledky dotazu sledovat jako entity. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetKnownProxyTypes() |
Vrátí všechny existující typy proxy. |
GetObjectByKey(EntityKey) |
Vrátí objekt, který má zadaný klíč entity. |
GetObjectType(Type) |
Vrátí typ entity poco přidružené k objektu proxy serveru zadaného typu. |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
LoadProperty(Object, String) |
Explicitně načte objekt související se zadaným objektem pomocí zadané navigační vlastnosti a pomocí výchozí možnosti sloučení. |
LoadProperty(Object, String, MergeOption) |
Explicitně načte objekt, který se vztahuje k zadanému objektu pomocí zadané navigační vlastnosti a pomocí zadané možnosti sloučení. |
LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>) |
Explicitně načte objekt, který se vztahuje k zadanému objektu zadaným dotazem LINQ a pomocí výchozí možnosti sloučení. |
LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption) |
Explicitně načte objekt, který se vztahuje k zadanému objektu zadaným dotazem LINQ a pomocí zadané možnosti sloučení. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
Refresh(RefreshMode, IEnumerable) |
Aktualizuje kolekci objektů v kontextu objektu pomocí dat ze zdroje dat. |
Refresh(RefreshMode, Object) |
Aktualizuje objekt v kontextu objektu daty ze zdroje dat. |
SaveChanges() |
Zachová všechny aktualizace zdroje dat a resetuje sledování změn v kontextu objektu. |
SaveChanges(Boolean) |
Zastaralé.
Zachová všechny aktualizace zdroje dat a volitelně resetuje sledování změn v kontextu objektu. |
SaveChanges(SaveOptions) |
Zachová všechny aktualizace zdroje dat se zadaným SaveOptionsparametrem . |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Translate<TElement>(DbDataReader) |
Přeloží DbDataReader objekt, který obsahuje řádky dat entity, na objekty požadovaného typu entity. |
Translate<TEntity>(DbDataReader, String, MergeOption) |
DbDataReader Převede objekt, který obsahuje řádky dat entity, na objekty požadovaného typu entity, v konkrétní sadě entit a se zadanou možností sloučení. |
TryGetObjectByKey(EntityKey, Object) |
Vrátí objekt, který má zadaný klíč entity. |
Událost
ObjectMaterialized |
Vyvolá se při vytvoření nového objektu entity z dat ve zdroji dat v rámci dotazu nebo operace načtení. |
SavingChanges |
Vyvolá se při uložení změn do zdroje dat. |