ObjectStateManager.GetObjectStateEntry Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan ObjectStateEntry untuk objek atau entri hubungan tertentu.
Overload
GetObjectStateEntry(EntityKey) |
Mengembalikan ObjectStateEntry untuk objek atau entri hubungan dengan kunci yang ditentukan. |
GetObjectStateEntry(Object) |
Mengembalikan ObjectStateEntry untuk objek yang ditentukan. |
GetObjectStateEntry(EntityKey)
Mengembalikan ObjectStateEntry untuk objek atau entri hubungan dengan kunci yang ditentukan.
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
Parameter
Mengembalikan
Yang sesuai ObjectStateEntry untuk yang diberikan EntityKey.
Pengecualian
Kapan key
adalah null
.
Ketika yang ditentukan key
tidak dapat ditemukan di manajer status.
Tidak ada entitas dengan yang ditentukan EntityKey ada di ObjectStateManager.
Contoh
Contoh ini mendapatkan ObjectStateEntry untuk yang diberikan EntityKey dari ObjectStateManager. Kemudian mendapatkan nilai SalesOrderHeader.PurchaseOrderNumber
properti saat ini, mengubah nilai properti, dan menghitung melalui pengumpulan properti yang dimodifikasi.
// 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());
}
}
Keterangan
TryGetObjectStateEntry(EntityKey, ObjectStateEntry) Gunakan metode untuk mengembalikan ObjectStateEntry objek tanpa harus menangani yang dinaikkan InvalidOperationException oleh GetObjectStateEntry(EntityKey) metode .
Berlaku untuk
GetObjectStateEntry(Object)
Mengembalikan ObjectStateEntry untuk objek yang ditentukan.
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
Parameter
- entity
- Object
tempat Object yang diambil ObjectStateEntry berada.
Mengembalikan
Yang sesuai ObjectStateEntry untuk yang diberikan Object.
Pengecualian
Tidak ada entitas untuk yang ditentukan Object yang ada di ObjectStateManager.
Keterangan
TryGetObjectStateEntry(Object, ObjectStateEntry) Gunakan metode untuk mengembalikan ObjectStateEntry objek tanpa harus menangani yang dinaikkan InvalidOperationException oleh GetObjectStateEntry(Object) metode .