Мне нужна помощь в понимании этой проблемы. Я использую репозиторий
шаблон с ActiveRecordMediator. Я включил сессию http области
модуль, помеченный мои классы с ActiveRecord (Lazy = true).
Проблема в том, что каждый раз, когда я выполняю FindAll или SlicedFindAll,
посредник возвращает коллекцию инициализированных элементов вместо
прокси. Может ли кто-нибудь указать мне правильное направление?
Это мой репозиторий:
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; }
}
}
}
Когда я выполняю метод FindAll, все объекты в версиях
массивом DocumentEntity являются DocumentVersionEntity вместо
DocumentVersionEntityProxy и все они инициализированы.
Что я делаю не так?