5
मूल रूप से मुझे nHibernate के साथ इकाइयों के संग्रह को हटाने का प्रयास करते समय यह अपवाद मिल रहा है। नीचे मेरी कोडकई ऑब्जेक्ट्स हटाने की कोशिश करते समय NHibernate TooManyRowsAffectedException
public void DeleteAll<T>(IList<T> entities)
{
using(var tx = session.BeginTransaction())
{
try
{
entities.ForEach(e=>session.Delete(e));
tx.Commit();
}
catch(Exception)
{
tx.Rollback();
}
}
}
HQL का उपयोग करते हुए किसी भी मुद्दे के बिना काम करता है, लेकिन मैं LINQish दृष्टिकोण पर कायम रखना पसंद किया है .. ओह और मैं एक Oracle डेटाबेस से कनेक्ट कर रहा हूँ।
अगर एक हटाने आपरेशन अधिक पंक्तियों में अपेक्षा से हटा देता है यह अपवाद फेंक दिया है। क्या आप एसक्यूएल जेनरेट और डेटाबेस टेबल को देखने के लिए देख सकते हैं, कौन सा कथन संभावित रूप से एक से अधिक पंक्तियों को हटा सकता है? – Firo
मुझे समझ में आया कि अपवाद क्यों फेंक दिया गया था, यह केवल 1 पंक्ति प्रभावित होने की उम्मीद करता है (इस मामले में हटा दिया गया), लेकिन क्यों ???? Nhprof हमारे कॉर्पोरेट नेटवर्क वातावरण में काम नहीं करता है :( – Duy
एक फ़ाइल में log4net 'NHIbernate.SQL' के साथ लॉग इन करें। वहां एक ऑरैक क्लाइंट में एसक्यूएल की प्रतिलिपि बनाएँ और उन्हें वहां से चलाने के लिए एक से अधिक पंक्ति – Firo