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 konkrétní 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
objekt nelze najít ve správci stavu.
V souboru neexistuje žádná entita se zadaným EntityKey parametrem ObjectStateManager.
Příklady
Tento příklad získá ObjectStateEntry hodnotu pro danou EntityKey hodnotu z .ObjectStateManager Pak získá aktuální hodnotu SalesOrderHeader.PurchaseOrderNumber
vlastnosti, změní hodnotu vlastnosti a provede 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) 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čítaný ObjectStateEntry patří.
Návraty
Odpovídající ObjectStateEntry pro danou Object.
Výjimky
V souboru neexistuje žádná entita pro zadanou ObjectObjectStateManagerhodnotu .
Poznámky
Použijte metodu TryGetObjectStateEntry(Object, ObjectStateEntry) k vrácení objektu ObjectStateEntry , aniž byste museli zpracovávat InvalidOperationException objekt vyvolaný metodou GetObjectStateEntry(Object) .
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro