ObjectContext-Klasse
[Diese Seite bezieht sich auf Entity Framework Version 6. Die neueste Version ist als 'Entity Framework' NuGet-Paket verfügbar. Weitere Informationen zu Entity Framework finden Sie unter msdn.com/data/ef.]
ObjectContext ist das Objekt auf oberster Ebene, das eine Verbindung zwischen der CLR und der Datenbank kapselt und als Gateway für Vorgänge zum Erstellen, Lesen, Aktualisieren und Löschen dient.
Vererbungshierarchie
System.Object
System.Data.Entity.Core.Objects.ObjectContext
Namespace: System.Data.Entity.Core.Objects
Assembly: EntityFramework (in EntityFramework.dll)
Syntax
'Declaration
<SuppressMessageAttribute("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")> _
Public Class ObjectContext _
Implements IDisposable, IObjectContextAdapter
'Usage
Dim instance As ObjectContext
[SuppressMessageAttribute("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
public class ObjectContext : IDisposable,
IObjectContextAdapter
[SuppressMessageAttribute(L"Microsoft.Maintainability", L"CA1506:AvoidExcessiveClassCoupling")]
public ref class ObjectContext : IDisposable,
IObjectContextAdapter
[<SuppressMessageAttribute("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")>]
type ObjectContext =
class
interface IDisposable
interface IObjectContextAdapter
end
public class ObjectContext implements IDisposable, IObjectContextAdapter
Der ObjectContext-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
ObjectContext(String) | Initialisiert eine neue Instanz der ObjectContext-Klasse mit der angegebenen Verbindungszeichenfolge und dem standardmäßigen Entitätencontainernamen. | |
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(String, String) | Initialisiert eine neue Instanz der ObjectContext-Klasse mit einer angegebenen Verbindungszeichenfolge und einem angegebenen Entitätencontainernamen. | |
ObjectContext(EntityConnection, Boolean) | Erstellt einen ObjectContext mit der angegebenen Verbindung und dem Metadaten-Arbeitsbereich. | |
ObjectContext(EntityConnection, String) | Initialisiert eine neue Instanz der ObjectContext-Klasse mit einer angegebenen Verbindung und einem angegebenen Entitätencontainernamen. |
Oben
Eigenschaften
Name | Beschreibung | |
---|---|---|
CommandTimeout | Ruft den Timeoutwert in Sekunden für alle Operationen im Objektkontext ab oder legt diesen fest.Ein NULL-Wert gibt an, dass der Standardwert des zugrunde liegenden Anbieters verwendet wird. | |
Connection | Ruft die vom Objektkontext verwendete Verbindung ab. | |
ContextOptions | Ruft eine ObjectContextOptions-Instanz ab, die Optionen enthält, die sich auf das Verhalten des ObjectContext auswirken. | |
DefaultContainerName | Ruft den Standardcontainernamen ab oder legt diesen fest. | |
InterceptionContext | Gibt den DbInterceptionContext zurück, der für diesen Kontext verwendet wird. | |
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. | |
TransactionHandler | Ruft den von diesem Kontext verwendeten Transaktionshandler ab.Kann NULL sein, wenn keine Transaktion begonnen wurde. |
Oben
Methoden
Name | Beschreibung | |
---|---|---|
AcceptAllChanges | Übernimmt alle Änderungen, die an Objekten im Objektkontext vorgenommen werden. | |
AddObject | Fügt dem Objektkontext ein Objekt hinzu. | |
ApplyCurrentValues<TEntity> | Kopiert die Skalarwerte aus dem angegebenen Objekt in das Objekt im ObjectContext, das über den gleichen Schlüssel verfügt. | |
ApplyOriginalValues<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 | Veraltet. Übernimmt Eigenschaftsänderungen eines getrennten Objekts für ein Objekt, das bereits an den Objektkontext angefügt wurde. | |
Attach | Fügt ein Objekt oder Objektdiagramm an den Objektkontext an, wenn das Objekt über einen Entitätsschlüssel verfügt. | |
AttachTo | 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 | 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 | Generiert einen gleichwertigen Typ, der mit dem Entity Framework für jeden Typ in der angegebenen Aufzählung verwendet werden kann. | |
CreateQuery<T> | Erstellt im aktuellen Objektkontext mit der angegebenen Abfragezeichenfolge eine ObjectQuery<T>. | |
DatabaseExists | Überprüft, ob die Datenbank, die in der aktuellen Speicherverbindung als Datenbank angegeben ist, im Speicher vorhanden ist.Das meiste der tatsächlichen Arbeit wird von der DbProviderServices-Implementierung für die aktuelle Speicherverbindung absolviert. | |
DeleteDatabase | Löscht die Datenbank, die in der aktuellen Datenquellenverbindung als Datenbank angegeben ist. | |
DeleteObject | Markiert ein Objekt zum Löschen. | |
Detach | 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 | (Von Object geerbt.) | |
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, 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. | |
ExecuteFunction<TElement>(String, ExecutionOptions, ObjectParameter[]) | Führt die angegebene Funktion für den Standardcontainer aus. | |
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. | |
ExecuteStoreCommand(String, Object[]) | Führt einen beliebigen Befehl unter Verwendung der vorhandenen Verbindung direkt für die Datenquelle aus.Der Befehl wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreCommand(TransactionalBehavior, String, Object[]) | Führt einen beliebigen Befehl unter Verwendung der vorhandenen Verbindung direkt für die Datenquelle aus.Der Befehl wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreCommandAsync(String, Object[]) | Führt einen beliebigen Befehl unter Verwendung der vorhandenen Verbindung direkt für die Datenquelle asynchron aus.Der Befehl wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreCommandAsync(String, CancellationToken, Object[]) | Führt einen beliebigen Befehl unter Verwendung der vorhandenen Verbindung direkt für die Datenquelle asynchron aus.Der Befehl wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreCommandAsync(TransactionalBehavior, String, Object[]) | Führt einen beliebigen Befehl unter Verwendung der vorhandenen Verbindung direkt für die Datenquelle asynchron aus.Der Befehl wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreCommandAsync(TransactionalBehavior, String, CancellationToken, Object[]) | Führt einen beliebigen Befehl unter Verwendung der vorhandenen Verbindung direkt für die Datenquelle asynchron aus.Der Befehl wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreQuery<TElement>(String, Object[]) | Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus.Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Ergebnisse werden nicht nach Kontext nachverfolgt; verwenden Sie eine Überladung, die einen Entitätenmengennamen angibt, um die Ergebnisse zu verfolgen.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreQuery<TElement>(String, ExecutionOptions, Object[]) | Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus.Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Ergebnisse werden nicht nach Kontext nachverfolgt; verwenden Sie eine Überladung, die einen Entitätenmengennamen angibt, um die Ergebnisse zu verfolgen.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreQuery<TElement>(String, String, ExecutionOptions, Object[]) | Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus.Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Wenn kein Entitätenmengenname angegeben wird, werden die Ergebnisse nach Kontext nachverfolgt.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreQuery<TElement>(String, String, MergeOption, Object[]) | Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle aus.Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Wenn kein Entitätenmengenname angegeben wird, werden die Ergebnisse nach Kontext nachverfolgt.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreQueryAsync<TElement>(String, Object[]) | Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle asynchron aus.Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Ergebnisse werden nicht nach Kontext nachverfolgt; verwenden Sie eine Überladung, die einen Entitätenmengennamen angibt, um die Ergebnisse zu verfolgen.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreQueryAsync<TElement>(String, ExecutionOptions, Object[]) | Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle asynchron aus.Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Ergebnisse werden nicht nach Kontext nachverfolgt; verwenden Sie eine Überladung, die einen Entitätenmengennamen angibt, um die Ergebnisse zu verfolgen.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreQueryAsync<TElement>(String, CancellationToken, Object[]) | Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle asynchron aus.Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Ergebnisse werden nicht nach Kontext nachverfolgt; verwenden Sie eine Überladung, die einen Entitätenmengennamen angibt, um die Ergebnisse zu verfolgen.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreQueryAsync<TElement>(String, ExecutionOptions, CancellationToken, Object[]) | Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle asynchron aus.Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Ergebnisse werden nicht nach Kontext nachverfolgt; verwenden Sie eine Überladung, die einen Entitätenmengennamen angibt, um die Ergebnisse zu verfolgen.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreQueryAsync<TElement>(String, String, ExecutionOptions, Object[]) | Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle asynchron aus.Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Wenn kein Entitätenmengenname angegeben wird, werden die Ergebnisse nach Kontext nachverfolgt.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
ExecuteStoreQueryAsync<TElement>(String, String, ExecutionOptions, CancellationToken, Object[]) | Führt eine Abfrage, die eine Sequenz typisierter Ergebnisse zurückgibt, direkt für die Datenquelle asynchron aus.Die Abfrage wird mithilfe der systemeigenen Abfragesprache des Servers, wie SQL, angegeben.Wenn kein Entitätenmengenname angegeben wird, werden die Ergebnisse nach Kontext nachverfolgt.Wie bei allen APIs, die SQL akzeptieren, müssen Sie darauf achten, alle Benutzereingaben zum Schutz vor SQL-Injection-Angriffen zu parametrisieren.Sie können in der SQL-Abfragezeichenfolge Platzhalter für Parameter einschließen und die Parameterwerte anschließend als zusätzliche Argumente angeben.Alle angegebenen Parameterwerte werden automatisch in einen DbParameter konvertiert.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); Als Alternative können Sie auch einen DbParameter erstellen und an SqlQuery übergeben.Auf diese Weise können Sie benannte Parameter in der SQL-Abfragezeichenfolge verwenden.context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor)); | |
Finalize | Schließt eine Instanz der ObjectContext-Klasse ab. (Überschreibt Object.Finalize().) | |
GetHashCode | (Von Object geerbt.) | |
GetKnownProxyTypes | Gibt alle vorhandenen Proxytypen zurück. | |
GetObjectByKey | Gibt ein Objekt mit dem angegebenen Entitätsschlüssel zurück. | |
GetObjectType | Gibt den Entitätstyp der POCO-Entität mit einem Proxyobjekt eines angegebenen Typs zurück. | |
GetType | (Von Object geerbt.) | |
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 | (Von Object geerbt.) | |
Refresh(RefreshMode, IEnumerable) | Aktualisiert eine Auflistung von Objekten im Objektkontext mit Daten aus der Datenbank. | |
Refresh(RefreshMode, Object) | Aktualisiert ein Objekt im Objektkontext mit Daten aus der Datenbank. | |
RefreshAsync(RefreshMode, IEnumerable) | Aktualisiert eine Auflistung von Objekten im Objektkontext asynchron mit Daten aus der Datenbank. | |
RefreshAsync(RefreshMode, Object) | Aktualisiert ein Objekt im Objektkontext asynchron mit Daten aus der Datenbank. | |
RefreshAsync(RefreshMode, IEnumerable, CancellationToken) | Aktualisiert eine Auflistung von Objekten im Objektkontext asynchron mit Daten aus der Datenbank. | |
RefreshAsync(RefreshMode, Object, CancellationToken) | Aktualisiert ein Objekt im Objektkontext asynchron mit Daten aus der Datenbank. | |
SaveChanges() | Behält alle Aktualisierungen in der Datenbank bei und setzt die Änderungsnachverfolgung im Objektkontext zurück. | |
SaveChanges(Boolean) | Veraltet. Behält alle Aktualisierungen in der Datenbank bei und setzt optional die Änderungsnachverfolgung im Objektkontext zurück. | |
SaveChanges(SaveOptions) | Behält alle Aktualisierungen in der Datenbank bei und setzt optional die Änderungsnachverfolgung im Objektkontext zurück. | |
SaveChangesAsync() | Behält alle Aktualisierungen in der Datenbank asynchron bei und setzt die Änderungsnachverfolgung im Objektkontext zurück. | |
SaveChangesAsync(CancellationToken) | Behält alle Aktualisierungen in der Datenbank asynchron bei und setzt die Änderungsnachverfolgung im Objektkontext zurück. | |
SaveChangesAsync(SaveOptions) | Behält alle Aktualisierungen in der Datenbank asynchron bei und setzt optional die Änderungsnachverfolgung im Objektkontext zurück. | |
SaveChangesAsync(SaveOptions, CancellationToken) | Behält alle Aktualisierungen in der Datenbank asynchron bei und setzt optional die Änderungsnachverfolgung im Objektkontext zurück. | |
ToString | (Von Object geerbt.) | |
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 | Gibt ein Objekt mit dem angegebenen Entitätsschlüssel zurück. |
Oben
Ereignisse
Name | Beschreibung | |
---|---|---|
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. |
Oben
Explizite Schnittstellen implementierungen
Name | Beschreibung | |
---|---|---|
IObjectContextAdapter.ObjectContext | Gibt sich selbst zurück.ObjectContext implementiert IObjectContextAdapter, um eine allgemeine Schnittstelle für DbContext und ObjectContext bereitzustellen, beide geben den zugrunde liegenden ObjectContext zurück. |
Oben
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.