Problém je následující:
-
SQLCLR neumožňuje žádný přístup k datům uvnitř TestFillRow
-
I když to „vypadá“, že váš TestFillRow nemá přístup k datům, způsob, jakým kompilátor překládá kód s příkazy „yield“, je vlastně odložení jeho provedení až do prvního volání .MoveNext() do iterátoru. Proto následující prohlášení:
using (SqlConnection con = new SqlConnection("context connection=true"))
se spustí v
TestFillRow
... což je nezákonné.
Nepoužívejte návratnost výnosů; místo toho načtěte celý výsledek do List<>
a vrátí seznam na konec funkce UD.