sql-server-2005 – 用户定义的函数输出进行Nhibernate过滤
发布时间:2021-04-03 06:17:41 所属栏目:编程 来源:网络整理
导读:我是NHibernate的新手,到今朝为止统统都盼望顺遂,但我碰着了一个题目,我不确定怎样办理题目.根基上我必要通过用户界说函数的输出举办过滤.假如我在SQL中写这是我写的: declare @Latitude decimaldeclare @Longitude decimaldeclare @radius intset @Latitude
我是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>(); (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读