ObjectContext.TryGetObjectByKey(EntityKey, Object) 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 objek yang memiliki kunci entitas yang ditentukan.
public:
bool TryGetObjectByKey(System::Data::EntityKey ^ key, [Runtime::InteropServices::Out] System::Object ^ % value);
public bool TryGetObjectByKey (System.Data.EntityKey key, out object value);
member this.TryGetObjectByKey : System.Data.EntityKey * obj -> bool
Public Function TryGetObjectByKey (key As EntityKey, ByRef value As Object) As Boolean
Parameter
- key
- EntityKey
Kunci objek yang akan ditemukan.
- value
- Object
Ketika metode ini kembali, berisi objek .
Mengembalikan
true
jika objek berhasil diambil.
false
key
jika bersifat sementara, koneksinya adalah null
, atau value
adalah null
.
Pengecualian
Metadata yang tidak kompatibel untuk key
.
key
adalah null
.
Contoh
Contoh ini membuat EntityKey untuk entitas dari jenis yang diberikan lalu mencoba mengambil entitas berdasarkan kunci.
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
Object entity = null;
IEnumerable<KeyValuePair<string, object>> entityKeyValues =
new KeyValuePair<string, object>[] {
new KeyValuePair<string, object>("SalesOrderID", 43680) };
// Create the key for a specific SalesOrderHeader object.
EntityKey key = new EntityKey("AdventureWorksEntities.SalesOrderHeaders", entityKeyValues);
// Get the object from the context or the persisted store by its key.
if (context.TryGetObjectByKey(key, out entity))
{
Console.WriteLine("The requested " + entity.GetType().FullName +
" object was found");
}
else
{
Console.WriteLine("An object with this key " +
"could not be found.");
}
}
Keterangan
TryGetObjectByKey mencoba mengambil objek yang memiliki yang ditentukan EntityKey dari ObjectStateManager. Jika objek saat ini tidak dimuat ke dalam konteks objek, kueri dijalankan dalam upaya untuk mengembalikan objek dari sumber data. Untuk informasi selengkapnya, lihat Kueri Objek.
Gunakan metode untuk TryGetObjectByKey menghindari penanganan yang ObjectNotFoundException dimunculkan oleh GetObjectByKey ketika objek tidak dapat ditemukan.
Metode ini akan mengembalikan objek dalam status Deleted .
Kunci sementara tidak dapat digunakan untuk mengembalikan objek dari sumber data.
Metode ini TryGetObjectByKey menerapkan pola .NET TryParse
standar untuk GetObjectByKey metode , mengembalikan false
ketika ObjectNotFoundException tertangkap.