2009-09-28 8 views
0

Quelqu'un peut-il me s'il vous plaît aider à comprendre les éléments suivants:NHibernate Proxy changements validateur 2.1

Dans la version précédente de NHibernate (2.0.1) la propriété suivante sera et validate est compatible avec le château Procurations:

internal virtual BusinessObject Parent 
{ 
    get { /*code*/ } 
} 

Cependant, dans 2.1, il indique que les types doivent être 'public/protected virtual' ou 'protected internal virtual'. J'ai des problèmes avec cela car le marquage d'une propriété avec 'protected internal' expose la propriété aux types hérités dans les AUTRES assemblées (efficacement protégé ou interne). Étant donné que ce n'était jamais une exigence préalable, il semble que ce soit une mauvaise exigence d'imposer maintenant.

Quelqu'un peut-il s'il vous plaît expliquer pourquoi cette exigence est maintenant là et ce il essaie de faire appliquer afin que je puisse au moins comprendre ce que c'est intention d'atteindre.

Si cette restriction est pas tout à fait nécessaire, et je suis certain à 100% ces types de propriétés ne jamais la carte de propriétés DB Je suis intention de créer mon propre fournisseur de bytecode Mashup en utilisant l'usine de proxy Château et le type Validator à partir de 2.0.1. Cependant, je suis ouvert à tout conseil.

Répondre

3

Here's the change et here's the reason pour ce changement. Selon le rapport, cela rompait le comportement du proxy.

+0

Nice one. Je suppose que l'exposition forcée des membres dans ce cas est un inconvénient à l'utilisation des procurations en général. Merci. –

Questions connexes