2009-09-28 3 views
0

Может кто-то пожалуйста, помогите мне понять следующее:NHibernate прокси Validator изменения в 2.1

В предыдущей версии NHibernate (2.0.1) следующее свойство будет валидацию и совместим с замком Proxies:

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

Однако в 2.1 это означает, что типы должны быть «общедоступный/защищенный виртуальный» или «защищенный внутренний виртуальный». У меня есть проблемы с этим, поскольку маркировка свойства с защищенным внутренним 'предоставляет свойство унаследованным типам в ДРУГИХ сборках (эффективно защищенная ИЛИ внутренняя). Учитывая, что это никогда не было требованием , чувствует себя как-то плохое требование наложить .

Может кто-нибудь объяснить, почему это требование сейчас существует и что пытается обеспечить соблюдение, поэтому я могу хотя бы понять, что это такое, , намереваясь достичь.

Если это ограничение не совсем нужен, и я 100% уверен эти типы свойств никогда не будут отображаться в свойствах БД Я: намереваясь создать свой собственный провайдер Mashup байт-код, используя замок прокси завод и тип валидатора из 2.0.1. Тем не менее, я определенно открыт для любых советов.

ответ

3

Here's the change и here's the reason для этого изменение. Согласно докладу, это нарушало поведение прокси.

+0

Nice один. Я предполагаю, что принудительное воздействие членов в этом случае является недостатком использования прокси в целом. Благодарю. –

Смежные вопросы