Ленивая загрузка Относится к Castle Active Record? - PullRequest
2 голосов
/ 17 февраля 2010

У меня есть следующее отображение для Отношения в замке AR

[BelongsTo("EVENT_ID", Lazy = FetchWhen.OnInvoke)]
        public EventType PayEvent
        {
            get
            {
                return m_PayEvent;
            }
            set
            {
                m_PayEvent = value;
            }
        }

Но отношение извлекается, даже если свойство не вызывается. Здесь что-то не хватает? Я также использую SessionScope.

Ответы [ 3 ]

5 голосов
/ 21 сентября 2010

у меня работает . Убедитесь, что объект помечен как ленивый, а все свойства и методы являются виртуальными.

0 голосов
/ 26 октября 2011

Кроме того, отложенная загрузка для отношений BelongsTo не работает, если для NotFoundBehaviour установлено значение Ignore

Пример:

[BelongsTo("EVENT_ID", Lazy=FetchWhen.OnInvoke, NotFoundBehaviour:=NotFoundBehaviour.Ignore)] 
0 голосов
/ 23 августа 2010

Нельзя включить ленивую загрузку с белогами на связь.
Смотри здесь .
Вы можете реализовать это самостоятельно.
Сохраните идентификатор в своей модели, а затем:

    public ServicePlan PreviousServicePlan
    {
        get
        {
           if (previousServicePlan == null)
                previousServicePlan = ActiveRecordMediator<ServicePlan>
                    .FindByPrimaryKey(PreviousServicePlanId, false);

           return previousServicePlan;
        }

        private set 
        {
            previousServicePlan = value;
        }
    }
...