Как Castle.ActiveRecord переопределяет виртуальные свойства? - PullRequest
1 голос
/ 08 августа 2010

В активной записи для записи модели вы пишете:

[ActiveRecord("TableName")]
public class Model
{
   [Property("SomeField")]
   public virtual string SomeField { get; set; };

   [Property("SomeLazyField"), Lazy= true]
   public virtual string SomeLazyField { get; set; };

}

Если поле ленивое, оно должно извлечь его при первом доступе, так как атрибут Property переопределяет свойство и извлекает значение SomeLazyField?

1 Ответ

0 голосов
/ 17 августа 2010

Цитируется по Рохану:

Я бы предположил, что AR генерирует динамический прокси и использует перехватчики для выполнения отложенной загрузки.Я не знаком с AR, но использую Dynamic Proxy и контейнер Windsor в течение последнего года, есть множество примеров, демонстрирующих эти концепции.

Цитируется по Roelof Blom:

На самом деле прокси генерирует NH.

...