20

次のコード スニペットは何をしますか? なぜ使用するのEvictですか?

private void DoEvict(customer cust)
{
    AddressRepository.Evict(cust.Address);
    cust.Address = AddressRepository.Get(cust.Address.Id);
}
4

2 に答える 2

24

エビクトは、特定の「アドレス」参照を NHibernate の第 1 レベルのキャッシュから削除します。

コード スニペットの最初の命令が実行されなかった場合、2 番目の命令は、DB から項目を取得する代わりに、単純に 1 次キャッシュから項目を返します。

于 2011-05-20T09:23:35.290 に答える