एनएचबीर्नेट एचक्यूएल के टी-एसक्यूएल के शीर्ष कीवर्ड के बराबर क्या है?टीएच-एसक्यूएल के शीर्ष कीवर्ड
यह भी कहने के लिए गैर-एचक्यूएल तरीका क्या है जो मुझे कक्षा का पहला 15 देता है?
एनएचबीर्नेट एचक्यूएल के टी-एसक्यूएल के शीर्ष कीवर्ड के बराबर क्या है?टीएच-एसक्यूएल के शीर्ष कीवर्ड
यह भी कहने के लिए गैर-एचक्यूएल तरीका क्या है जो मुझे कक्षा का पहला 15 देता है?
यह वास्तव में HQL में बहुत आसान है:
var top15 = session.CreateQuery("from SomeEntity")
.SetFirstResult(0)
.SetMaxResults(15)
.List<SomeEntity>();
कैसे यद्यपि मापदंड एपीआई का उपयोग कर यह करने के लिए पता नहीं है।
मानदंड एपीआई विधि:
एक.Skip(someInt)
में
var top15 = session.QueryOver<SomeEntity>().Take(15).List();
फेंक अगर आप एक निर्धारित करने होंगे:
ICriteria criteria = DaoSession.CreateCriteria(typeof(T));
criteria.SetFirstResult(StartIndex);
criteria.SetMaxResults(MaximumObjects);
return criteria.List<T>();
+1। मुझे इस अधिकतम ऑब्जेक्ट्स को देखना होगा। बहुत अच्छा। – BuddyJoe
अधिकतम ऑब्जेक्ट्स केवल एक पूर्णांक चर है जो SetMaxResults को बताने के लिए कितनी ऑब्जेक्ट्स लौटाता है। आपके मामले में, आप इसके बजाय हार्ड कोड 15 कर सकते हैं, यानी मानदंड। SetMaxResults (15); –
हाहा ... इसलिए दूसरे शब्दों में यह उदाहरण के बाद CreateQuery() के समान है। –
पूर्णता के लिए, यहाँ कैसे QueryOver
एपीआई NHibernate 3.0 में शुरू की के साथ यह करने के लिए है सूचकांक शुरू करें, उदाहरण के लिए पेजिंग के लिए।
mookid8000 झूठी जानकारी दे रहा है।
वहाँ HQL साथ :(
यह हमेशा नेट के लिए तालिका के सभी डाउनलोड करता है और टॉप लेता एसक्यूएल टॉप एन स्थापित करने का कोई तरीका नहीं है, जो सिर्फ सादा बेवकूफ है!
NHibernate 3.2 से आप क्वेरी के अंत में HQL में SKIP n/TAKE n
इस्तेमाल कर सकते हैं यह है जहाँ आप SetMaxResults
उपयोग नहीं कर सकते सबक्वेरी में बहुत सहायक हो सकता है
उदाहरण के लिए:।।
select l, (select u from User u where u.Location = l order by u.Date asc take 1)
from Location l
+1। हू यह बहुत अजीब है। मैंने सोचा कि जवाब एचक्यूएल "सुरंग" स्ट्रिंग का हिस्सा होगा। दिलचस्प। – BuddyJoe
यह उत्तर वास्तव में एचक्यूएल का एक संकर है और मानदंड एपीआई –
हाँ .. यह अनिवार्य रूप से मानदंड के समान है ... बस 'CreateCriteria() ' –
dotjoe