ObjectStateManager.GetObjectStateEntry Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar en ObjectStateEntry för ett specifikt objekt eller relationspost.
Överlagringar
| Name | Description |
|---|---|
| GetObjectStateEntry(EntityKey) |
Returnerar en ObjectStateEntry för objektet eller relationsposten med den angivna nyckeln. |
| GetObjectStateEntry(Object) |
Returnerar ett ObjectStateEntry för det angivna objektet. |
GetObjectStateEntry(EntityKey)
Returnerar en ObjectStateEntry för objektet eller relationsposten med den angivna nyckeln.
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
Parametrar
Returer
Motsvarande ObjectStateEntry för den angivna EntityKey.
Undantag
När key är null.
När det angivna key inte går att hitta i tillståndshanteraren.
Det finns ingen entitet med angivet EntityKey i ObjectStateManager.
Exempel
Det här exemplet hämtar ObjectStateEntry för angiven EntityKey från ObjectStateManager. Sedan hämtar den det aktuella värdet för SalesOrderHeader.PurchaseOrderNumber egenskapen, ändrar egenskapens värde och räknar upp genom samlingen med ändrade egenskaper.
// 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());
}
}
Kommentarer
TryGetObjectStateEntry(EntityKey, ObjectStateEntry) Använd metoden för att returnera ett ObjectStateEntry objekt utan att behöva hantera metodens InvalidOperationException upphöjda GetObjectStateEntry(EntityKey) objekt.
Gäller för
GetObjectStateEntry(Object)
Returnerar ett ObjectStateEntry för det angivna objektet.
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
Parametrar
- entity
- Object
Den Object som hämtas ObjectStateEntry tillhör.
Returer
Motsvarande ObjectStateEntry för den angivna Object.
Undantag
Det finns ingen entitet för den angivna Object i ObjectStateManager.
Kommentarer
TryGetObjectStateEntry(Object, ObjectStateEntry) Använd metoden för att returnera ett ObjectStateEntry objekt utan att behöva hantera metodens InvalidOperationException upphöjda GetObjectStateEntry(Object) objekt.