簡體   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