समस्या निम्न है:
-
SQLCLR TestFillRow के अंदर किसी भी डेटा एक्सेस की अनुमति नहीं देता है
-
भले ही यह आपके TestFillRow की तरह "दिखता है" डेटा तक नहीं पहुंचता है, जिस तरह से कंपाइलर "यील्ड" स्टेटमेंट के साथ कोड का अनुवाद करता है, वह वास्तव में इसके निष्पादन को पहले .MoveNext () कॉल करने वाले को कॉल करने तक स्थगित कर रहा है। इसलिए निम्नलिखित कथन:
using (SqlConnection con = new SqlConnection("context connection=true"))
TestFillRow
. के अंदर निष्पादित हो जाता है ... जो अवैध है।
उपज प्रतिफल का उपयोग न करें; इसके बजाय पूरे परिणाम को List<>
में लोड करें और यूडी फ़ंक्शन के अंत में सूची लौटाएं।