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
	Параметры
Возвращаемое значение
Соответствующая запись ObjectStateEntry для заданного ключа EntityKey.
Исключения
Если значение параметра key равно null.
Когда указанный key не удается найти в диспетчере состояния.
Сущность с указанным ключом EntityKey отсутствует в диспетчере ObjectStateManager.
Примеры
В этом примере возвращается ObjectStateEntry для заданного EntityKey из ObjectStateManager. Затем он получает текущее 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) .