誰かが次のことを理解するのを手伝ってくれませんか:
以前のバージョンの NHibernate (2.0.1) では、次のプロパティが検証され、キャッスル プロキシと互換性があります。
internal virtual BusinessObject Parent
{
get { /*code*/ }
}
ただし、2.1 では、タイプが 'public/protected virtual' または 'protected internal virtual' である必要があるというエラーが表示されます。プロパティを「保護された内部」でマークすると、プロパティが他のアセンブリの継承された型に公開されるため、これには問題があります(実質的に保護または内部)。これは以前は要件ではなかったので、現在課すのは少し悪い要件のように感じます。
なぜこの要件が現在あるのか、何を強制しようとしているのかを誰かが説明してください.
この制限が完全に必要ではなく、これらのタイプのプロパティが DB プロパティにマッピングされないことが 100% 確実である場合は、Castle プロキシ ファクトリと 2.0.1 の Type Validator を使用して、独自の Mashup ByteCode プロバイダを作成するつもりです。しかし、私は間違いなくどんなアドバイスにもオープンです。