EntityReference<TEntity>.Load(MergeOption) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bu EntityReference<TEntity> ilgili nesnesini belirtilen birleştirme seçeneğiyle yükler.
public:
override void Load(System::Data::Objects::MergeOption mergeOption);
public override void Load (System.Data.Objects.MergeOption mergeOption);
override this.Load : System.Data.Objects.MergeOption -> unit
Public Overrides Sub Load (mergeOption As MergeOption)
Parametreler
- mergeOption
- MergeOption
ObjectContextzaten varsa nesnenin nasıl döndürülmesi gerektiğini belirtir.
Özel durumlar
EntityReference<TEntity> kaynağı null
.
-veya-
Sorgu birden fazla ilgili uç döndürdü.
-veya-
Sorgu, ilişkili sıfır uç döndürdü ve ilgili bir uç bekleniyordu.
Açıklamalar
Bu yöntem ilgili nesneyi yüklemek için kullanılır.
Yüklendiğinde, ilgili nesneye Value özelliğinden erişilir.
İlgili nesneleri açıkça yüklemek için, gezinti özelliği tarafından döndürülen ilgili uçta Load
yöntemini çağırmanız gerekir. Bire çok ilişkisi için EntityCollection<TEntity>üzerinde Load yöntemini çağırın ve bire bir ilişki için EntityReference<TEntity>üzerinde Load çağırın. Bu, ilgili nesne verilerini nesne bağlamı içine yükler. Sorgu sonuçları döndürdüğünde, bir foreach
döngüsü (Visual Basic'teFor Each...Next
) kullanarak nesne koleksiyonunda numaralandırabilir ve sonuçlardaki her varlık için EntityReference<TEntity> ve EntityCollection<TEntity> özelliklerinde Load
yöntemini koşullu olarak çağırabilirsiniz.
Load yöntemi, IsLoadedtrue
olsa da olmasa da veri kaynağından ilgili nesneleri yükler.
Not
foreach
(C#) veya For Each
(Visual Basic) numaralandırması sırasında Load yöntemini çağırdığınızda, Nesne Hizmetleri yeni bir veri okuyucu açmaya çalışır. Bağlantı dizesinde multipleactiveresultsets=true
belirterek birden çok etkin sonuç kümesini etkinleştirmediğiniz sürece bu işlem başarısız olur. Sorgunun sonucunu bir List<T> koleksiyonuna da yükleyebilirsiniz. Bu işlem veri okuyucuyu kapatır ve başvurulan nesneleri yüklemek için koleksiyon üzerinde numaralandırmanıza olanak tanır.
Bu yöntem, Load çağrısının doğru koşullara sahip olduğunu doğrulayan ilgili nesneyi yüklemeden önce iç RelatedEnd.ValidateLoad
yöntemini çağırır.
RelatedEnd.ValidateLoad
yöntemi aşağıdakileri denetler:
- Geçerli bir ObjectContext var.
- Varlık Deleted durumda değil.
- Load için MergeOption, yalnızca kaynak varlığın NoTrackingise NoTracking olmalıdır. Kaynak varlık başka bir MergeOptionile alındıysa, LoadMergeOptionNoTracking dışında herhangi bir şey olabilir (örneğin, varlık OverwriteChanges yüklenmiş ve Load seçeneği AppendOnlyolabilir).
-
mergeOption
NoTrackingise, Load önceden yüklenmiş bir varlıkta çağrılmaz ve Load boş olmayan, izlenmeyen bir RelatedEndçağrılmaz.
İlgili nesne ObjectContextzaten yüklendiğinde, Load yöntemi mergeOption
parametresi tarafından belirtilen MergeOption zorlar. Daha fazla bilgi için bkz. Kimlik Çözümlemesi, Durum Yönetimi ve Değişiklik İzleme.
Şunlara uygulanır
Ayrıca bkz.
- Verileri Nesne Olarak Sorgulama (Entity Framework)