In NHibernate you can easily benefit from first level cache when using Load or Get methods. But what about ICriteria,
NHibernate
Load
Get
ICriteria
No, as I understand they don't. They use only second level cache. Firs level cache is only for Get and Load.