2011-02-08 22 views

回答

0

在NHibernate中,你可以選擇一個隨機行,像這樣

var query = "SELECT top 1 * from [Event] ORDER BY NEWID()"; 
ISQLQuery qry = session.CreateSQLQuery(query).AddEntity(typeof(Event)); 
Event randomevent = qry.List<Event>().First(); 

在活動記錄,我們必須稍微用力工作,並使用以下。

Event randomEvent = (Event)ActiveRecordMediator<Event>.Execute(
    (session, instance) => 
     { 

      var query = "SELECT top 1 * from [Event] ORDER BY NEWID()"; 

      ISQLQuery qry = session.CreateSQLQuery(query).AddEntity(typeof(Event)); 
      Event rand = qry.List<Event>().First(); 

      return rand; 
     },new Event()); 

只需將event替換爲您的實體。