NHibernate query ( hql vs criteria ) -


मेरे पास एक hql क्वेरी स्ट्रिंग

  MyTable तालिका से है NHibernate बिना NHibernate (मापदंडों का उपयोग) के साथ मैं यह कैसे लिख सकता हूं        / Div> 

दिनांक समय + टाइमस्पेन समस्या के संबंध में रुचि हो सकती है।

यह आपके मामले में काम करेगा: < / P>

क्वेरी ओवर:

  int id = 1; दिनांकटाइम प्रारंभटाईम = दिनांकटाइम.अब। ऐडडिसेस (5.0); Var vacations = session.QueryOver & lt; Vacation & gt; ()। जहां (v = & gt; v.Employee.Id == आईडी) और। (V = & gt; v.StartDate & gt; स्टार्टटाइम || (v.StartDate == startTime दिनांक और amp; v.Duration & gt; = startTime.TimeOfDay))। सूची ();   

आईसीआरटीरिया:

  var vacationsCrit = session.CreateCriteria (typeof (अवकाश))। जोड़ें (अभिव्यक्ति.ईसी ("कर्मचारी। आईडी", आईडी) )। जोड़ें (अभिव्यक्ति। संयोजन ()। जोड़ें (अभिव्यक्ति। Gt ("StartDate", startTime))। जोड़ें (अभिव्यक्ति। संयोजन)। (अभिव्यक्ति। एक्च जोड़ें ("StartDate", startTime.Date))। जोड़ें ( अभिव्यक्ति। जी ("अवधि", प्रारंभ समय। टाइमऑफ़ डे))))। लिस्ट ();   

दोनों ही उसी SQL को आउटपुट करेंगे इसका उल्लेख किया जाना चाहिए कि आप ऐसा कुछ नहीं कर सकते, जैसा ऊपर दिए गए लिंक में वर्णित है:

  var vacations = session.QueryOver & lt; Vacation & gt; ()। जहां (v = & gt; v.Employee आईडी == आईडी) और। (V = & gt; v.startdate.Add (v.Duration)> gt; = startTime) // & lt; - यह काम नहीं करेगा। सूची ();    

Comments