sql-server-2005 – 用户定义的函数输出进行Nhibernate过滤
发布时间:2021-05-08 19:17:53 所属栏目:MsSql教程 来源:网络整理
导读:我是NHibernate的新手,到目前为止一切都进展顺利,但我遇到了一个问题,我不确定如何解决问题.基本上我需要通过用户定义函数的输出进行过滤.如果我在SQL中写这是我写的: declare @Latitude decimaldeclare @Longitude decimaldeclare @radius intset @Latit
我是NHibernate的新手,到目前为止一切都进展顺利,但我遇到了一个问题,我不确定如何解决问题.基本上我需要通过用户定义函数的输出进行过滤.如果我在SQL中写这是我写的: declare @Latitude decimal declare @Longitude decimal declare @radius int set @Latitude = -118.4104684 set @Longitude = 34.1030032 select * from store where dbo.CalculateDistance([Latitude],[Longitude],@Latitude,@Longitude) < @radius 我已经看到了我认为不合适的公式属性,命名查询和创建自己的方言扩展的例子(这似乎有点过分了).我会认为有更直接的方式,但我似乎无法找到一个整洁的例子. 解决方法您可以在hibernate查询中使用SQL表达式.假设您已映射了Store类型,则可以编写以下查询: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>(); (编辑:新余站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Sql事务怎么理解?一文迅速了解Sql事务的用法
- 分析SQL Server删除重复行的6个方法
- SqlServer中的日期与时间代码
- sql-update – 从另一个表更新多个列 – 需要Oracle格式
- join – Spark 2.0.0错误:PartitioningCollection要求其所
- sql-server – 存储过程和OPTIMIZE FOR UNKNOWN
- sql-server – 将SQL Server实例根目录放在单独的驱动器上是
- SqlDateTime溢出是什么原因?如何解决?
- 高版本sql数据库备份还原低版本怎样实现?
- sql – 具有Desc / Asc排序的Order By子句的Case语句
站长推荐
热点阅读