ObjectStateManager.GetObjectStateEntry Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.