0

誰かが次のことを理解するのを手伝ってくれませんか:

以前のバージョンの 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 プロバイダを作成するつもりです。しかし、私は間違いなくどんなアドバイスにもオープンです。

4

1 に答える 1

3

これが変更点であり、変更の理由は次のとおりです。レポートによると、それはプロキシの動作を壊していました。

于 2009-09-28T03:57:01.840 に答える