Я использую EntityFramework POCO + прокси + отложенная загрузка в моем проекте. Сегодня я был довольно удивлен, увидев, что class Транзакция
имеет связанную коллекцию Строк
, материализованных в HashSet
(вместо EntityCollection
). Мне нужно EntityCollection
для отслеживания изменений в коллекции.
public class Transaction
{
public virtual ICollection<TransactionRow> Rows { get; set; }
}
Однако другие классы сущностей имеют свою связанную коллекцию, материализованную в EntityCollection
.
Я загружаю транзакцию
- ObjectQuery
, поэтому оно должно быть в контексте. Прокси для объекта также создан.
Может кто-нибудь сказать - как Entity Framework решает, что использовать - HashSet или EntityCollection? Почему некоторые вещи становятся HashSets?