sql >> Base de Datos >  >> RDS >> Sqlserver

Filtrado de Nhibernate por salida de función definida por el usuario

Podría usar la expresión SQL en sus consultas de hibernación. Suponiendo que haya asignado una Store escriba podría escribir la siguiente 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>();