Sie könnten SQL-Ausdrücke in Ihren Ruhezustandsabfragen verwenden. Angenommen, Sie haben einen Store
zugeordnet type könnten Sie die folgende Abfrage schreiben:
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>();