ObjectStateManager.GetObjectStateEntry Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
ObjectStateEntry Vrátí pro konkrétní objekt nebo položku relace.
Přetížení
| Name | Description |
|---|---|
| GetObjectStateEntry(EntityKey) |
ObjectStateEntry Vrátí pro objekt nebo položku relace se zadaným klíčem. |
| GetObjectStateEntry(Object) |
Vrátí hodnotu ObjectStateEntry pro zadaný objekt. |
GetObjectStateEntry(EntityKey)
ObjectStateEntry Vrátí pro objekt nebo položku relace se zadaným klíčem.
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
Parametry
Návraty
Odpovídající ObjectStateEntry danému EntityKey.
Výjimky
Kdy key je null.
Pokud zadaný key objekt nelze najít ve správci stavů.
V zadané EntityKey entitě neexistuje žádná entita ObjectStateManager.
Příklady
Tento příklad získá ObjectStateEntry pro danou EntityKey z objektu ObjectStateManager. Pak získá aktuální hodnotu SalesOrderHeader.PurchaseOrderNumber vlastnosti, změní hodnotu vlastnosti a vytvoří výčet prostřednictvím kolekce upravených vlastností.
// 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());
}
}
Poznámky
Použijte metodu TryGetObjectStateEntry(EntityKey, ObjectStateEntry)ObjectStateEntry k vrácení objektu InvalidOperationException bez nutnosti zpracovat vyvolání metodou GetObjectStateEntry(EntityKey) .
Platí pro
GetObjectStateEntry(Object)
Vrátí hodnotu ObjectStateEntry pro zadaný objekt.
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
Parametry
- entity
- Object
Do Object kterého načtený ObjectStateEntry patří.
Návraty
Odpovídající ObjectStateEntry danému Object.
Výjimky
V zadané Object entitě neexistuje žádná entita ObjectStateManager.
Poznámky
Použijte metodu TryGetObjectStateEntry(Object, ObjectStateEntry)ObjectStateEntry k vrácení objektu InvalidOperationException bez nutnosti zpracovat vyvolání metodou GetObjectStateEntry(Object) .