0

有人可以帮我理解以下内容:

在以前的 NHibernate 版本(2.0.1)中,以下属性将验证并与 Castle 代理兼容:

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

但是,在 2.1 中错误地说类型应该是“公共/受保护的虚拟”或“受保护的内部虚拟”。我对此有疑问,因为使用“受保护的内部”标记属性会将属性暴露给其他程序集中的继承类型(有效保护或内部)。鉴于以前从来没有要求过,现在强加起来感觉有点糟糕。

有人可以解释为什么现在有这个要求以及它试图强制执行什么,这样我至少可以理解它打算实现什么。

如果不完全需要此限制,并且我 100% 确定这些类型的属性将永远不会映射到数据库属性,我打算使用 Castle 代理工厂和 2.0.1 中的类型验证器创建自己的 Mashup ByteCode 提供程序。但是,我绝对愿意接受任何建议。

4

1 回答 1

3

这就是变化这就是变化的原因。根据该报告,它正在破坏代理行为。

于 2009-09-28T03:57:01.840 回答