Time for a really quick tip when it comes to queries in SisoDb that will give you better performance. When firing of a query with lots of parameters in your expression, move the logic into your model instead. That way the expression only has to lookup one index-value for your structure, and it will probably also state what you are doing. Example
session .Query<WorkOrder>() .Where(w => w.Status == WoStatus.Done || w.Status == WoStatus.Trashed);
session .Query<WorkOrder>() .Where(w => w.IsClosed);
This was just a super simple example, but really. Try and get it down to one param. You will gain performance.