J'utilise EntityFramework POCO + proxies + chargement paresseux dans mon projet. Aujourd'hui, j'ai été assez surpris de voir que la classe Transaction
a sa collection connexe Rows
matérialisée en HashSet
(au lieu de EntityCollection
). J'ai besoin de EntityCollection
pour suivre les changements dans la collection.Entity Framework - related ICollection se matérialiser dans HashSet
public class Transaction
{
public virtual ICollection<TransactionRow> Rows { get; set; }
}
Cependant, d'autres classes d'entités ont leur collection liée matérialisée dans EntityCollection
.
Je suis en train de charger le Transaction
à ObjectQuery
, donc ce devrait être dans le contexte. Le proxy de l'objet est également créé.
Est-ce que quelqu'un pourrait dire - comment Entity Framework décide ce qu'il faut utiliser - HashSet ou EntityCollection? Pourquoi quelque chose devient HashSets?
Ouch, je viens d'inspecter la classe une fois de plus et j'ai réalisé que la collection n'était pas marquée comme virtuelle :) Merci pour l'indice! – Jefim