ObjectStateManager.GetObjectStateEntry Метод

Определение

ObjectStateEntry Возвращает объект или запись связи.

Перегрузки

Имя Описание
GetObjectStateEntry(EntityKey)

ObjectStateEntry Возвращает объект или запись связи с указанным ключом.

GetObjectStateEntry(Object)

ObjectStateEntry Возвращает объект для указанного объекта.

GetObjectStateEntry(EntityKey)

ObjectStateEntry Возвращает объект или запись связи с указанным ключом.

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

Параметры

key
EntityKey

Объект EntityKey.

Возвращаемое значение

Соответствующий ObjectStateEntry для заданного EntityKey.

Исключения

Когда key есть null.

Если указанный объект key не найден в диспетчере состояний.

В объекте нет сущности, указанной EntityKey в объекте ObjectStateManager.

Примеры

В этом примере получается ObjectStateEntry для заданного EntityKeyObjectStateManagerобъекта. Затем он получает текущее значение свойства, изменяет значение SalesOrderHeader.PurchaseOrderNumber свойства и перечисляет через коллекцию измененных свойств.

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

Комментарии

TryGetObjectStateEntry(EntityKey, ObjectStateEntry) Используйте метод для возврата ObjectStateEntry объекта без необходимости обрабатывать InvalidOperationException поднятый методомGetObjectStateEntry(EntityKey).

Применяется к

GetObjectStateEntry(Object)

ObjectStateEntry Возвращает объект для указанного объекта.

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

Параметры

entity
Object

Значение Object , к которому принадлежит извлекаемая ObjectStateEntry .

Возвращаемое значение

Соответствующий ObjectStateEntry для заданного Object.

Исключения

В указанном Object объекте ObjectStateManagerне существует сущности.

Комментарии

TryGetObjectStateEntry(Object, ObjectStateEntry) Используйте метод для возврата ObjectStateEntry объекта без необходимости обрабатывать InvalidOperationException поднятый методомGetObjectStateEntry(Object).

Применяется к