繁体   English   中英

NHibernate选择符合条件的最新记录

[英]NHibernate select most recent record that meets criteria

昨晚我开始研究NHibernate提供商。 我正在创建一个标准,几个记录将匹配,但我只想返回最新的记录(具有最大Id的记录)。 我认为UniqueResult()会这样做,如果列表将被返回,则无法使用它。

理论上我可以选择完整列表,然后返回所需的记录,但我相信有更好的方法。

你能加订单吗?

ICriteria cr = Session.CreateCriteria<MyType>();

cr.AddOrder(Order.Desc("Id"));

MyType justone = cr.UniqueResult();

这最终是需要的。 它实际上是我之前尝试过的几件事的组合。

MyObject mo = (MyObject)_session.CreateCriteria(typeof(MyObject))
                .Add(Restrictions.Eq("Property", value))
                .AddOrder(Order.Desc("Id"))
                .SetMaxResults(1).UniqueResult();
            Log.Info(this, string.Format("Retrieving latest MyObject {0}.", mo.Name));
            return mo;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM