É possível usar filtros do NHibernate para filtrar as referências?
Exemplo inventado, mas digamos que eu tenha essas entidades:
public class Root
{
public virtual Customer Customer { get; set; }
}
public class Customer
{
public virtual CustomerData Data { get; set; }
}
public class CustomerData
{
public virtual string FooName { get; set; }
}
Agora, digamos que eu queira criar um filtro para Root baseado no valor de FooName. Intuitivamente, eu tentei isso na minha classe FooMap. Usando mapeamentos fluentes.
ApplyFilter("FooNameFilter", "Customer.Data.FooName in (:argument)");
Isso não funciona. Um SqlClient.SqlException é lançado informandoThe multi-part identifier "Customer.Data.FooName" could not be bound.
Existe uma maneira de fazer filtros funcionar dessa maneira, ou sou forçado a mover essa lógica para todosQuery<Root>()
s em vez disso?