J'ai besoin d'aide pour comprendre ce problème. J'utilise le modèle de dépôt avec ActiveRecordMediator. J'ai activé le module de la portée de la session http , marqué mes classes avec l'ActiveRecord (Lazy = true). Le problème est que chaque fois que j'effectue un FindAll ou SlicedFindAll, le médiateur retourne une collection d'éléments initialisés au lieu de proxies. Quelqu'un pourrait-il me signaler dans la bonne direction?Castle ActiveRecord Lazy-Loading ne fonctionne pas
Ceci est mon dépôt:
public interface IEntityRepository<TEntity>
{
IList<TEntity> FindAll(int page, int pageSize, out int resultCount);
}
public class EntityRepository<TEntity> : IEntityRepository<TEntity>
{
public virtual IList<TEntity> FindAll(int page, int pageSize)
{
return (IList<TEntity>)ActiveRecordMediator.SlicedFindAll(typeof(TEntity), (page * pageSize), pageSize);
}
}
[ActiveRecord(Lazy = true)]
public class DocumentEntity
{
private Guid _id;
private IList<DocumentVersionEntity> _versions;
[PrimaryKey(PrimaryKeyType.GuidComb, "Id")]
public virtual Guid Id
{
get { return _id; }
set { _id = value; }
}
[HasAndBelongsToMany(typeof(DocumentVersionEntity), RelationType.Bag, Table = "DocumentEntriesToDocumentVersions", ColumnKey = "DocumentEntryId", ColumnRef = "DocumentVersionId", Cascade = ManyRelationCascadeEnum.AllDeleteOrphan, Lazy = true)]
public virtual IList<DocumentVersionEntity> Versions
{
get { return _versions; }
set { _versions = value; }
}
}
[ActiveRecord(Lazy = true)]
public class DocumentVersionEntity
{
private Guid _id;
[PrimaryKey(PrimaryKeyType.GuidComb, "Id")]
public virtual Guid Id
{
get { return _id; }
set { _id = value; }
}
}
}
Lorsque j'exécute la méthode FindAll, tous les objets dans les versions tableau du DocumentEntity sont DocumentVersionEntity au lieu de DocumentVersionEntityProxy et sont tous intialized.
Qu'est-ce que je fais mal?
cross-posting (avec des réponses): http://groups.google.com/group/castle-project-users/browse_thread/thread/863f02fbc6ba52e8 –
Ouais, j'ai pensé que je pouvais demander aussi dans le groupe de projet Castle. Pourtant, pas de réponse à mon cas. –