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í.
Vrátí hodnotu ObjectStateEntry pro určitý objekt nebo položku relace.
Přetížení
GetObjectStateEntry(EntityKey) |
Vrátí hodnotu ObjectStateEntry pro objekt nebo položku relace se zadaným klíčem. |
GetObjectStateEntry(Object) |
Vrátí hodnotu ObjectStateEntry pro zadaný objekt. |
GetObjectStateEntry(EntityKey)
Vrátí hodnotu ObjectStateEntry 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 pro danou EntityKey.
Výjimky
Když key
je null
.
Pokud zadaný key
parametr nelze najít ve správci stavu.
V objektu neexistuje žádná entita se zadaným EntityKey parametrem ObjectStateManager.
Příklady
Tento příklad získá ObjectStateEntry pro danou EntityKey hodnotu z .ObjectStateManager Pak získá aktuální hodnotu SalesOrderHeader.PurchaseOrderNumber
vlastnosti, změní hodnotu vlastnosti a vytvoří výčet prostřednictvím kolekce změněný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) k vrácení objektu ObjectStateEntry , aniž byste museli zpracovávat InvalidOperationException objekt vyvolaný 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
Hodnota Object , do které načtený ObjectStateEntry patří.
Návraty
Odpovídající ObjectStateEntry pro danou Object.
Výjimky
V objektu neexistuje žádná entita pro zadanou Object entitu ObjectStateManager.
Poznámky
Použijte metodu TryGetObjectStateEntry(Object, ObjectStateEntry) k vrácení objektu ObjectStateEntry , aniž byste museli zpracovávat InvalidOperationException objekt vyvolaný metodou GetObjectStateEntry(Object) .