Aracılığıyla paylaş


ObjectStateManager.GetObjectStateEntry Yöntem

Tanım

Belirli bir nesne veya ilişki girdisi için bir ObjectStateEntry döndürür.

Aşırı Yüklemeler

GetObjectStateEntry(EntityKey)

Belirtilen anahtarla nesne veya ilişki girdisi için bir ObjectStateEntry döndürür.

GetObjectStateEntry(Object)

Belirtilen nesne için bir ObjectStateEntry döndürür.

GetObjectStateEntry(EntityKey)

Belirtilen anahtarla nesne veya ilişki girdisi için bir ObjectStateEntry döndürür.

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

Parametreler

Döndürülenler

Verilen EntityKeyöğesine karşılık gelen ObjectStateEntry .

Özel durumlar

olduğunda keynull.

Belirtilen key durum yöneticisinde bulunamadığında.

içinde ObjectStateManagerbelirtilene EntityKey sahip bir varlık yok.

Örnekler

Bu örnek, verilen EntityKey için değerini ObjectStateManageriçinden alırObjectStateEntry. Ardından özelliğin geçerli değerini SalesOrderHeader.PurchaseOrderNumber alır, özelliğin değerini değiştirir ve değiştirilen özelliklerin koleksiyonu aracılığıyla numaralandırır.

// 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());
    }
}

Açıklamalar

TryGetObjectStateEntry(EntityKey, ObjectStateEntry) yöntemi tarafından oluşturulan işlemek InvalidOperationException zorunda kalmadan bir ObjectStateEntry nesnesi döndürmek GetObjectStateEntry(EntityKey) için yöntemini kullanın.

Şunlara uygulanır

GetObjectStateEntry(Object)

Belirtilen nesne için bir ObjectStateEntry döndürür.

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

Parametreler

entity
Object

Alınan ObjectObjectStateEntry öğenin ait olduğu yer.

Döndürülenler

Verilen Objectöğesine karşılık gelen ObjectStateEntry .

Özel durumlar

içinde belirtilen Object için hiçbir varlık yok ObjectStateManager.

Açıklamalar

TryGetObjectStateEntry(Object, ObjectStateEntry) yöntemi tarafından oluşturulan işlemek InvalidOperationException zorunda kalmadan bir ObjectStateEntry nesnesi döndürmek GetObjectStateEntry(Object) için yöntemini kullanın.

Şunlara uygulanır