ObjectStateManager.GetObjectStateEntry Methode

Definitie

Retourneert een ObjectStateEntry voor een specifiek object of een relatievermelding.

Overloads

Name Description
GetObjectStateEntry(EntityKey)

Retourneert een ObjectStateEntry voor het object of de relatievermelding met de opgegeven sleutel.

GetObjectStateEntry(Object)

Retourneert een ObjectStateEntry voor het opgegeven object.

GetObjectStateEntry(EntityKey)

Retourneert een ObjectStateEntry voor het object of de relatievermelding met de opgegeven sleutel.

public:
 System::Data::Objects::ObjectStateEntry ^ GetObjectStateEntry(System::Data::EntityKey ^ key);
public System.Data.Objects.ObjectStateEntry GetObjectStateEntry(System.Data.EntityKey key);
member this.GetObjectStateEntry : System.Data.EntityKey -> System.Data.Objects.ObjectStateEntry
Public Function GetObjectStateEntry (key As EntityKey) As ObjectStateEntry

Parameters

Retouren

De corresponderende ObjectStateEntry voor de opgegeven EntityKey.

Uitzonderingen

Wanneer key is null.

Wanneer de opgegeven key niet kan worden gevonden in de statusbeheerder.

Er bestaat geen entiteit met de opgegeven EntityKey waarde in de ObjectStateManager.

Voorbeelden

In dit voorbeeld wordt het ObjectStateEntry voor de opgegeven EntityKey van de ObjectStateManager. Vervolgens wordt de huidige waarde van de SalesOrderHeader.PurchaseOrderNumber eigenschap opgehaald, wordt de waarde van de eigenschap gewijzigd en wordt de verzameling gewijzigde eigenschappen opgesomd.

// Specify the order to update.
int orderId = 43680;

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    try
    {
        var order = (from o in context.SalesOrderHeaders
                     where o.SalesOrderID == orderId
                     select o).First();

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

        // Delete the first item in the order.
        context.DeleteObject(order.SalesOrderDetails.First());

        // Create a new SalesOrderDetail object.
        // You can use the static CreateObjectName method (the Entity Framework
        // adds this method to the generated entity types) instead of the new operator:
        // SalesOrderDetail.CreateSalesOrderDetail(1, 0, 2, 750, 1, (decimal)2171.2942, 0, 0,
        //                                         Guid.NewGuid(), DateTime.Today));
        SalesOrderDetail detail = new SalesOrderDetail
        {
            SalesOrderID = 0,
            SalesOrderDetailID = 0,
            OrderQty = 2,
            ProductID = 750,
            SpecialOfferID = 1,
            UnitPrice = (decimal)2171.2942,
            UnitPriceDiscount = 0,
            LineTotal = 0,
            rowguid = Guid.NewGuid(),
            ModifiedDate = DateTime.Now
        };
        order.SalesOrderDetails.Add(detail);

        // Get the ObjectStateEntry for the order.
        ObjectStateEntry stateEntry =
            context.ObjectStateManager
            .GetObjectStateEntry(order);
        Console.WriteLine("State before SaveChanges() is called: {0}",
            stateEntry.State.ToString());

        // Save changes in the object context to the database.
        int changes = context.SaveChanges();

        Console.WriteLine("State after SaveChanges() is called: {0}",
            stateEntry.State.ToString());

        Console.WriteLine(changes.ToString() + " changes saved!");
        Console.WriteLine("Updated item for order ID: "
            + order.SalesOrderID.ToString());

        // Iterate through the collection of SalesOrderDetail items.
        foreach (SalesOrderDetail item in order.SalesOrderDetails)
        {
            Console.WriteLine("Item ID: "
                + item.SalesOrderDetailID.ToString() + "  Product: "
                + item.ProductID.ToString() + "  Quantity: "
                + item.OrderQty.ToString());
        }
    }
    catch (UpdateException ex)
    {
        Console.WriteLine(ex.ToString());
    }
}

Opmerkingen

Gebruik de TryGetObjectStateEntry(EntityKey, ObjectStateEntry) methode om een ObjectStateEntry object te retourneren zonder de InvalidOperationException gegenereerde GetObjectStateEntry(EntityKey) methode te hoeven verwerken.

Van toepassing op

GetObjectStateEntry(Object)

Retourneert een ObjectStateEntry voor het opgegeven object.

public:
 System::Data::Objects::ObjectStateEntry ^ GetObjectStateEntry(System::Object ^ entity);
public System.Data.Objects.ObjectStateEntry GetObjectStateEntry(object entity);
member this.GetObjectStateEntry : obj -> System.Data.Objects.ObjectStateEntry
Public Function GetObjectStateEntry (entity As Object) As ObjectStateEntry

Parameters

entity
Object

De Object waartoe de opgehaalde ObjectStateEntry behoort.

Retouren

De corresponderende ObjectStateEntry voor de opgegeven Object.

Uitzonderingen

Er bestaat geen entiteit voor de opgegeven Object entiteit in de ObjectStateManager.

Opmerkingen

Gebruik de TryGetObjectStateEntry(Object, ObjectStateEntry) methode om een ObjectStateEntry object te retourneren zonder de InvalidOperationException gegenereerde GetObjectStateEntry(Object) methode te hoeven verwerken.

Van toepassing op