Problemet är följande:
-
SQLCLR tillåter ingen dataåtkomst inuti TestFillRow
-
Även om det "ser ut" som att din TestFillRow inte kommer åt data, är sättet som kompilatorn översätter kod med "yield"-satser genom att faktiskt skjuta upp dess exekvering tills det första .MoveNext()-anropet till iteratorn. Därför följande uttalande:
using (SqlConnection con = new SqlConnection("context connection=true"))
exekveras i
TestFillRow
... vilket är olagligt.
Använd inte avkastning; ladda istället hela resultatet till en List<>
och returnera listan i slutet av UD-funktionen.