मैं एक सरल क्वेरी सूची वापस करने की कोशिश कर रहा हूं जो एक तालिका से पूछताछ करता है और IN का उपयोग करता है। मैं इसनिबर्ननेट एचक्यूएल जहां क्वेरी
return new List<Jobs>(
ActiveRecordMediator<Jobs>.FindAll(Expression.In("ServiceId", ids))
);
का उपयोग कर काम करने के लिए प्राप्त कर सकते हैं हालांकि यह वास्तव में वास्तव में बहुत धीमी है। तो आईडी
SimpleQuery<Job> query =
new SimpleQuery<Job>(@"from Job as j where ? in (j.ServiceId)", ids);
return new List<Job>(query.Execute());
जैसे कुछ ऐसा करना पसंद है, हालांकि मैं काम करने के लिए SimpleQuery प्राप्त नहीं कर सकता। मैं इसे कवर करने वाले किसी दस्तावेज़ को नहीं ढूंढ सकता और उम्मीद कर रहा था कि वहां से कोई मदद करने में सक्षम होगा।
धन्यवाद
उत्तर के लिए धन्यवाद। मैं आपके जवाब SimpleQuery क्वेरी = नए SimpleQuery के आधार पर अपनी क्वेरी संपादित ( @ "नौकरी से जे के रूप में जहां j.SecondName = (: नाम) और ServiceId (में: serviceIds)"); क्वेरी.SetParameter ("serviceIds", ids); क्वेरी.SetParameter ("नाम", नाम); नई सूची (क्वेरी.एक्सक्यूट()); एकमात्र मुद्दा अब आईड्स की int सरणी है जिसमें मैं गुजर रहा हूं। डेटाबेस में फ़ील्ड टाइप int है, अगर मैं किसी भी स्ट्रिंग फ़ील्ड में IN का उपयोग करता हूं तो यह ठीक काम करता है और यदि मैं एक एकल int मान पास करता हूं तो यह काम करता है । मैं एक सरणी कैसे पास कर सकता हूं? धन्यवाद –
Gilbert
Opps, गलत विधि कॉल q.setParameterList का उपयोग करने की कोशिश करें – Noel
इसके अलावा यह आपके लिए भी उपयोगी हो सकता है http://www.nhforge.org/doc/nh/en/index.html#manipulatingdata-queryinterface – Noel