Мы используем представления для всего нашего простого экспорта данных в файлы CSV. Это упрощает процесс записи пакета и встраивания sql в пакете, который становится громоздким и твердым отладить против.
Используя представления, мы можем выполнить представление и видеть точно, что экспортировалось, никакой хлам или неизвестные. Это значительно помогает в поиске и устранении неисправностей проблем с неподходящими данными, экспортирует и скрывает любые сложные соединения позади представления. Предоставленный, мы используем очень старую унаследованную систему от основанной на условиях системы, которая экспортирует в sql, таким образом, соединения немного более сложны чем обычно.
sessionFactory предоставляет нужные вам методы ... из главы 19.3 справочника NHibernate :
Чтобы полностью удалить все объекты из кеша сеанса, вызовите ISession.Clear () Для кеша второго уровня в ISessionFactory определены методы для удаления кэшированного состояния объекта. экземпляр, весь класс, экземпляр коллекции или роль всей коллекции.
sessionFactory.Evict(typeof(Cat), catId); //evict a particular Cat
sessionFactory.Evict(typeof(Cat)); //evict all Cats
sessionFactory.EvictCollection("Eg.Cat.Kittens", catId); //evict a particular collection of kittens
sessionFactory.EvictCollection("Eg.Cat.Kittens"); //evict all kitten collections