Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Filtragem Nhibernate por saída de função definida pelo usuário


Você pode usar a expressão SQL em suas consultas de hibernação. Supondo que você tenha mapeado uma Store tipo, você pode escrever a seguinte consulta:
var result = session
    .CreateCriteria<Store>()
    .Add(Expression.Sql(
        "dbo.CalculateDistance({alias}.Latitude, {alias}.Longitude, ?, ?) < ?",
        new object[] { 
            -118.4104684d, 
            34.1030032d, 
            100 
        },
        new IType[] { 
            NHibernateUtil.Double, 
            NHibernateUtil.Double, 
            NHibernateUtil.Int32 
        }
    ))
    .List<Store>();