I use EntityFramework POCO + proxies + lazy loading in my project. Today I was pretty surprized to see that the class Transaction has its related collection Rows materialized into HashSet (instead of EntityCollection). I need EntityCollection for tracking changes in the collection.
public class Transaction
{
public virtual ICollection<TransactionRow> Rows { get; set; }
}
However other entity classes have their related collection materialized into EntityCollection.
I am loading the Transaction through ObjectQuery, so it should be in the context. The proxy for the object is also created.
Could anyone tell - how does Entity Framework decide what to use - HashSet or EntityCollection? Why some thing become HashSets?
Change tracking proxy is created only when these two conditions are met:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With