I have just discovered that I don't think my nhibernate setup seems to be cacheing properly. I'm running a SQL server profiler and neither the 1st or 2nd level cache appear to be working.
For my queries I'm using:
var queryable = NHibernateSession.CurrentFor(NHibernateSession.DefaultFactoryKey).Linq<Accommodation>();
queryable.QueryOptions.SetCachable(true);
I've also tried setting this in one of the entity mappings:
Cache.Is(c => c.ReadOnly());
Is there something else I ought to be doing?