プロジェクトで EntityFramework POCO + プロキシ + 遅延読み込みを使用しています。Transaction今日、クラスの関連コレクションが(の代わりに) にRows具体化されているのを見て、かなり驚きました。コレクションの変更を追跡する必要があります。HashSetEntityCollectionEntityCollection
public class Transaction
{
public virtual ICollection<TransactionRow> Rows { get; set; }
}
ただし、他のエンティティ クラスでは、関連するコレクションが に具体化されていEntityCollectionます。
Transactionthrough を読み込んObjectQueryでいるので、コンテキスト内にあるはずです。オブジェクトのプロキシも作成されます。
Entity Framework は、HashSet と EntityCollection のどちらを使用するかをどのように決定するのでしょうか。HashSet になるのはなぜですか?