2010-08-08 13 views
1

En enregistrement actif pour écrire un modèle que vous écrivez:Comment Castle.ActiveRecord remplace-t-il les propriétés virtuelles?

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

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

} 

Si le champ est paresseux, il doit chercher sur le premier accès, alors comment la propriété n'attribue remplacer la propriété et récupère la valeur SomeLazyField?

+0

permuté (avec réponse) ici: http://groups.google.com/group/castle-project-users/browse_thread/thread/bef5f4c8c390b3ea –

+0

Yeh que moi dans cette liste de diffusion :) –

Répondre

0

Citation de Rohan:

Je suppose que AR génère un proxy dynamique et utilise intercepteurs à effectuer le chargement différé. Je ne suis pas familier avec AR, mais j'ai utilisé Dynamic Proxy et Windsor conteneur pour la dernière année, il y a beaucoup d'exemples qui démontrent ces concepts.

Citation de Roelof Blom:

En fait, il est NH qui génère le proxy .