将此 SQL 查询转换为 NHibernate 标准查询
Posted
技术标签:
【中文标题】将此 SQL 查询转换为 NHibernate 标准查询【英文标题】:Convert this SQL Query to NHibernate Criteria Queries 【发布时间】:2011-08-28 15:33:21 【问题描述】:需要将此 sql 查询转换为 nhibernate 标准语言...我该怎么做?
select
*
from Feeds where Id =
(select MAX(Id) from Feeds where DataId = [VARIABLE PARAMETER])
【问题讨论】:
【参考方案1】:Feed feed = _session.CreateCriteria<Feed>()
.Add(Restrictions.Eq("DataId", "[VARIABLE PARAMETER]"))
.AddOrder(new Order("_id", false))
.SetMaxResults(1)
.List<Feed>()
.FirstOrDefault();
这将导致类似:
select TOP 1 * from Feeds where DataId = ??? Order By Id desc
从性能的角度来看,应该没有difference。
【讨论】:
以上是关于将此 SQL 查询转换为 NHibernate 标准查询的主要内容,如果未能解决你的问题,请参考以下文章