2012-10-15 14 views
5

के साथ प्रत्येक एनएच पंक्ति का चयन करें एनएचबीरनेट क्वेरीओवर, एचक्यूएल या मानदंड के साथ, प्रत्येक एनएच पंक्ति का चयन करने वाली क्वेरी को आप कैसे कार्यान्वित करेंगे?NHibernate

वर्तमान में मैं निम्नलिखित टी SQL क्वेरी का उपयोग करें:

SELECT * FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS [Row] 
    FROM [TABLE_NAME] 
) x WHERE (x.[Row] % 100) = 0 

(Marc Gravell के लिए धन्यवाद)

उत्तर

0

L2S के रूप में एक ही - कोई आसान तरीका एसक्यूएल के बिना यह करने के लिए। और सिंटैक्स वैसे भी डीबीएमएस-विशिष्ट होगा।

+0

row_number() का उपयोग करने वाला समाधान सुंदर डीबीएमएस स्वतंत्र है (आजकल सभी आधुनिक डीबीएमएस समर्थन के रूप में)। डीबीएमएस निर्भर एकमात्र चीज मॉड्यूलो ऑपरेटर है। –

2

क्या आपने क्रॉस जॉइन में इंडेक्सिंग टेबल का उपयोग करने का समाधान माना है? मेरा मतलब यह है कि आपके पास कई पंक्तियों वाली एक तालिका है, जैसा कि आपको लगता है कि आपको प्रत्येक पंक्ति में 1-एन से जाने वाले पूर्णांक के अनुक्रमित कॉलम की आवश्यकता होगी। यह शायद मास्टर डेटाबेस में हो सकता है, इसके साथ एक तिथि कॉलम के साथ - यह आश्चर्यजनक है कि यह विधि कितनी उपयोगी है। क्वेरी तब

SELECT * FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY Id) AS [Row] 
    FROM [TABLE_NAME] 
) x INNER JOIN [Index_Table] i ON i.Id*100=x.[Row]