2010-06-16 15 views
18

के साथ तालिका में सभी रिकॉर्ड्स पुनर्प्राप्त करें मुझे nHibernate के साथ तालिका में सभी रिकॉर्ड्स पुनर्प्राप्त करने की आवश्यकता है। अगर मेरे पास टेबल में सभी रिकॉर्ड्स की कुंजी थी तो मैं लूप कर सकता था और nHibernate की Get विधि का उपयोग कर सकता था (हालांकि यह अक्षम है) लेकिन मेरे पास चाबियाँ नहीं हैं। मैं FindAll का भी उपयोग कर सकता हूं लेकिन इसके लिए मानदंड या संग्रहीत प्रक्रिया की आवश्यकता होती है।nHibernate

मैं तालिका से सभी रिकॉर्ड कैसे प्राप्त कर सकता हूं?

उत्तर

35

एसक्यूएल टेबल तो आदेश में एक मेज आप एक प्रश्न (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

अगर मैं तुम्हें सही ढंग से समझ, आप मूल रूप से ग बनाने कोई प्रतिबंध के साथ riteria? – brainimus

+0

बिल्कुल, क्या आवश्यकता नहीं है? – Jaguar

+0

हां। मैं बस यह सुनिश्चित करना चाहता था कि मुझे पता था कि क्या हो रहा था। धन्यवाद! – brainimus