¿Cómo se puede usar QueryOver para filtrar una clase específica?
Actualmente estoy construyendo consultas dinámicamente de esta manera:
QueryOver<Base, Base> q = QueryOver.Of<Base>();
if (foo != null) q = q.Where(b => b.Foo == foo);
// ...
Ahora hay varias subclases asignadas deBase
(p.ej.Derived
) que quiero filtrar, básicamente algo como:
if (bar) q = q.Where(b => b is Derived); // does not work
o:
if (bar) q = q.Where(b => b.DiscriminatorColumn == 'derived'); // dito
¿Cómo puedo lograr eso, preferiblemente, pero no necesariamente, de forma segura? ¿Se puede hacer esto usando LINQ también?