Gewusst wie: Manuelles Öffnen der Verbindung aus dem Objektkontext (Entity Framework)

In diesem Thema wird anhand eines Beispiels gezeigt, wie Sie eine Verbindung aus dem Objektkontext manuell herstellen können.

Das Beispiel in diesem Thema beruht auf dem AdventureWorks Sales-Modell. Zum Ausführen des Codes in diesem Beispiel müssen Sie dem Projekt bereits das AdventureWorks Sales-Modell hinzugefügt und das Projekt zur Verwendung von Entity Framework konfiguriert haben. Führen Sie dazu das Verfahren in Gewusst wie: Verwenden des Entity Data Model-Assistenten (Entity Framework) aus.

Beispiel

In diesem Beispiel wird die Verbindung manuell geöffnet, dann wird eine Abfrage durchgeführt, und die Änderungen werden gespeichert. Die Verbindung wird geschlossen, wenn sich der Kontext nicht mehr im Gültigkeitsbereich befindet und verworfen wird.

' Define the order ID for the order we want. 
Dim orderId As Integer = 43680

Using context As New AdventureWorksEntities()
    ' Explicitly open the connection. 
    context.Connection.Open()

    ' Execute a query to return an order. 
    Dim order As SalesOrderHeader = context.SalesOrderHeaders.Where("it.SalesOrderID = @orderId", _
                                        New ObjectParameter("orderId", orderId)).Execute(MergeOption.AppendOnly).First()


    ' Change the status of the order. 
    order.Status = 1

    ' Save changes. 
    If 0 < context.SaveChanges() Then
        Console.WriteLine("Changes saved.")
    End If
    ' The connection is closed when the object context 
    ' is disposed because it is no longer in scope. 
End Using
// Define the order ID for the order we want.
int orderId = 43680;

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    // Explicitly open the connection.    
    context.Connection.Open();

    // Execute a query to return an order.
    SalesOrderHeader order =
        context.SalesOrderHeaders.Where(
        "it.SalesOrderID = @orderId", new ObjectParameter("orderId", orderId))
        .Execute(MergeOption.AppendOnly).First();


    // Change the status of the order.
    order.Status = 1;

    // Save changes.
    if (0 < context.SaveChanges())
    {
        Console.WriteLine("Changes saved.");
    }
    // The connection is closed when the object context
    // is disposed because it is no longer in scope.
}

Siehe auch

Aufgaben

Gewusst wie: Verwalten der Verbindung in einem Objektkontext mit langer Laufzeit (Entity Framework)
Gewusst wie: Verwenden von EntityConnection mit einem Objektkontext (Entity Framework)