using hql in NHibernate -


मेरे पास दो टेबल हैं:

  - तालिका: medibv.btdbn - ड्रॉप तालिका medibv.btdbn; टेबल medibv.btdbn बनाएँ (mabn varchar (8) नहीं NULL, होतें पाठ, ngaysinh टाइमस्टैम्प, namsinh varchar (4), phai सांख्यिक (1) डिफ़ॉल्ट 0, मान varchar (2), madantoc varchar (2), sonha varchar (15 ), Thon पाठ, चोलम पाठ, मैट varchar (3), maqu varchar (5), maphuongxa varchar (7), userid सांख्यिक (5) डिफ़ॉल्ट 0, ngayud टाइमस्टैम्प डिफ़ॉल्ट अब (), hotenkdau पाठ, nam पाठ, छवि bytea, बारकोड bytea, प्राथमिक कुंजी (mabn) का उपयोग सूचकांक टेबल-स्पेस medi_index, fk_btdbn_btddt विदेशी कुँजी (madantoc) दें संदर्भ medibv.btddt (madantoc) अद्यतन पर मैच सरल चालू हटाना SET नल कोई कार्रवाई नहीं की बाधा pk_btdbn बाधा, बाधा विदेशी कुँजी (मान) दें संदर्भ medibv fk_btdbn_btdnn_bv। Btdnn_bv (mann) पर अद्यतन बस अद्यतन हटाए गए सेट पर कोई कार्रवाई नहीं, कॉन्ट्रैक्ट fk_btdbn_btdpxa विदेशी कुंजी (maphuongxa) संदर्भों medibv.btdpxa (maphuongxa) मैच पर सरल अद्यतन DELETE SET NULL, CONSTRAINT fk_btdbn_btdquan विदेशी कुंजी पर कोई कार्रवाई maqu) दें संदर्भ medibv.btdquan (maqu) अद्यतन पर मैच सरल चालू हटाना SET नल, बाधा fk_btdbn_btdtt विदेशी कुँजी (मैट) दें संदर्भ medibv.btdtt (मैट) पर अद्यतन कोई कार्रवाई नहीं की चालू हटाना SET नल) OIDs के साथ मेल सरल कोई कार्रवाई नहीं की; वैकल्पिक रूप से medibv.btdbn स्वामी को medisoft;  

और

<पूर्व> - तालिका: medibv.benhandt - ड्रॉप तालिका medibv.benhandt; टेबल medibv.benhandt (mabn varchar (8), mavaovien सांख्यिक (18) डिफ़ॉल्ट 0 बनाएं, maql सांख्यिक (18) नहीं NULL डिफ़ॉल्ट 0, makp varchar (2), ngay टाइमस्टैम्प, dentu सांख्यिक (1) डिफ़ॉल्ट 0, nhantu सांख्यिक ( 1) डिफ़ॉल्ट 0, lanthu सांख्यिक (3) डिफ़ॉल्ट 0, madoituong सांख्यिक (2) डिफ़ॉल्ट 0, chandoan पाठ, maicd varchar (9), MABS varchar (4), sovaovien varchar (10), loaiba सांख्यिक (3) डिफ़ॉल्ट 0, यूजरआइम न्यूमेरिक (5) डिफॉल्ट 0, एनजीएड टाइमस्टैम्प डिफॉल्ट अब (), सीएसचेंडन टेक्स्ट, कॉन्ट्रैक्ट पीके_बैनलहैंट प्राथमिक कुंजी (माइकल), कॉन्ट्रैक्ट एफके_बेंहनट_ बीटीकेपी_बीवी विदेशी कुंजी (मकप) संदर्भ मेडिबव.बी.टी.के.पी.बी.बी. (एमएपीपी) का अद्यतन अपडेट पर डिलीटेट सेट नाउल पर कोई क्रिया नहीं , कॉन्ट्रैक्ट fk_benhandt_doituong विदेशी कुंजी (madoituong) संदर्भ medibv.doituong (madoituong) मैच के लिए अद्यतन पर सरल हटाए गए SET नल पर कोई कार्रवाई) ओड्स के साथ; मेडसॉफ्ट के लिए ऑल्टर टेबल मेडिबव।

मैंने सी # के साथ NHibernate का उपयोग किया और मैंने दो वर्गों का निर्माण किया: Btdbn और Benhandt

मुझे मिलना है एक IList नीचे एसक्यूएल की तरह:

  HQL = "tdbn btdbn से" + "tdbn.mabn, badt.mavaovien चुनें" + "आंतरिक tdbn पर Badt benhandt में शामिल हो। Mabn = badt.mabn ";  

HQL कक्षाओं पर काम करता है, टेबल पर नहीं। इसलिए, आपको उस HQL क्वेरी को लिखना होगा जिसमें आप उन दो तालिकाओं के लिए मैप किए गए वर्गों की क्वेरी करते हैं। यदि आप एचक्यूएल क्वेरी से डेटा वापस करना चाहते हैं जो कि आपकी कक्षाओं में से किसी एक के द्वारा प्रतिनिधित्व नहीं किया जा सकता है, तो आपको डीटीओ कक्षा बनाना होगा। इस वर्ग में गुण है जिसमें क्वेरी द्वारा प्राप्त किए गए मान शामिल होंगे। ऐसा करने के लिए, आपको उस श्रेणी को 'आयात' करना होगा।

फिर, आप ऐसा कुछ कर सकते हैं:

  नया MyDTO चुनें (टीडीबीएन। Mabn, badt.mava) से btdn tdbn भी शामिल है tdbn.mabn  

Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -