ObjectStateManager.GetObjectStateEntry Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne un objet ObjectStateEntry pour une entrée d'objet ou de relation spécifique.
Surcharges
GetObjectStateEntry(EntityKey) |
Retourne un objet ObjectStateEntry pour l'entrée d'objet ou de relation avec la clé spécifiée. |
GetObjectStateEntry(Object) |
Retourne un objet ObjectStateEntry pour l'objet spécifié. |
GetObjectStateEntry(EntityKey)
Retourne un objet ObjectStateEntry pour l'entrée d'objet ou de relation avec la clé spécifiée.
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
Paramètres
Retours
Objet ObjectStateEntry correspondant pour l'objet EntityKey donné.
Exceptions
Lorsque key
est null
.
Lorsque la key
spécifiée ne peut pas être trouvé dans le gestionnaire d'état.
Il n'existe aucune entité avec l'objet EntityKey dans l'objet ObjectStateManager.
Exemples
Cet exemple obtient le ObjectStateEntry pour le donné EntityKey à partir de .ObjectStateManager Ensuite, il obtient la valeur actuelle de la SalesOrderHeader.PurchaseOrderNumber
propriété, modifie la valeur de la propriété et énumère dans la collection de propriétés modifiées.
// 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());
}
}
Remarques
Utilisez la TryGetObjectStateEntry(EntityKey, ObjectStateEntry) méthode pour retourner un ObjectStateEntry objet sans avoir à gérer le InvalidOperationException déclenché par la GetObjectStateEntry(EntityKey) méthode .
S’applique à
GetObjectStateEntry(Object)
Retourne un objet ObjectStateEntry pour l'objet spécifié.
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
Paramètres
- entity
- Object
Objet Object auquel appartient l'objet ObjectStateEntry récupéré.
Retours
Objet ObjectStateEntry correspondant pour l'objet Object donné.
Exceptions
Il n'existe aucune entité pour l'objet Object dans l'objet ObjectStateManager.
Remarques
Utilisez la TryGetObjectStateEntry(Object, ObjectStateEntry) méthode pour retourner un ObjectStateEntry objet sans avoir à gérer le InvalidOperationException déclenché par la GetObjectStateEntry(Object) méthode .