Projemde EntityFramework POCO + proxy'leri + tembel yükleme özelliğini kullanıyorum. Bugün, Transaction
sınıfının Rows
ilgili koleksiyonunun HashSet
(EntityCollection
yerine) içerdiğini görmeye oldukça şaşırdım. Koleksiyondaki değişiklikleri izlemek için EntityCollection
'a ihtiyacım var.Entity Framework - ilgili ICollection, HashSet'e dönüştürüldü
public class Transaction
{
public virtual ICollection<TransactionRow> Rows { get; set; }
}
Ancak diğer varlık sınıfları bunlarla ilgili toplama EntityCollection
içine gerçekleşmiş bulunmaktadır.
Transaction
'u ObjectQuery
aracılığıyla yüklüyorum, bu nedenle bağlamda olması gerekir. Nesne için proxy de oluşturulur.
Herkes şunu söyleyebilir - Entity Framework ne kullanacağına nasıl karar verir - HashSet veya EntityCollection? Neden bazı şeyler HashSets olur?
Ouch, sınıfı bir kez daha inceledim ve koleksiyonun sanal olarak işaretlenmediğini fark ettim :) İpucu için teşekkürler! – Jefim