Managing entities in NHibernate 1st level cache

441 views Asked by At

What's the proper way to manage persisted entities in the 1st level cache during thread/session lifetime? Actually, there is only one or two persisted instances per thread (session) that should be present at all times, for referencing them from other (transient) entities before saving.

Since I need to clear the session cache every once in a while (because otherwise it gets filled and painfully slow), what I am not sure is - should I:

  1. Evict all entities from the session, except the ones I need?
  2. Clear the entire session, and reload necessary entities?
  3. Create a new session and reload necessary entities?
1

There are 1 answers

0
Sly On BEST ANSWER

I think you should close previous Session and open new one. If objects that you want to cache are heavy for loading per each session you sould use Second level caching.