2010-06-16 114 views
18

我需要使用nHibernate檢索表中的所有記錄。如果我有表中所有記錄的關鍵字,我可以循環並使用nHibernate的Get方法(雖然這看起來效率很低),但我沒有密鑰。我也可以使用FindAll,但這需要標準或存儲過程。使用nHibernate檢索表中的所有記錄

如何從表中獲取所有記錄?

回答

35

SQL表映射類,因此,以便從你編寫一個查詢(HQL或條件)表中檢索所有記錄中獲取的所有對象給定類型的映射到此表:

var products = session.CreateCriteria<Product>().List<Product>(); 

或使用HQL:

var products = session.CreateQuery("from " + typeof(Product)).List<Product>(); 

或LINQ:

var products = session.Linq<Product>().ToList() // 2.x contrib provider 
var products = session.Query<Product>().ToList() // 3.x integrated provider 
+0

如果我理解正確的話,你基本上創建C riteria沒有限制? – brainimus 2010-06-16 13:45:40

+0

到底是不是要求? – Jaguar 2010-06-16 14:05:13

+0

是的。我只是想確保我知道發生了什麼事。謝謝! – brainimus 2010-06-17 15:15:26

相關問題