SqlFunction falha ao abrir a conexão de contexto, apesar do DataAccessKind.Read present

Eu tenho um projeto SqlServer com um teste muito simples para uma função com valor de tabela: -

[SqlFunction(TableDefinition = "forename nvarchar(50)", FillRowMethodName = "TestFillRow", DataAccess = DataAccessKind.Read)]
public static IEnumerable TestConn(int ID)
{
    using (SqlConnection con = new SqlConnection("context connection=true"))
    {
        //con.Open();
        yield return "Anthony";
    }
}

public static void TestFillRow(object obj, out string forename)
{
    forename = (string)obj;
}

Observe que o Open on the connection está comentado no momento. Uma vez implantado, posso executar o seguinte no SQL: -

SELECT * FROM [dbo].[TestConn](1)

Tudo funciona bem.

Agora descomente ocon.open() e falha com: -

acesso aos dados não é permitido neste contexto. O contexto é uma função ou método não marcado com DataAccessKind.Read ou SystemDataAccessKind.Read, é um retorno de chamada para obter dados do método FillRow de uma função com valor de tabela ou é um método de validação UD

Não vejo qual é o problema, a função TestConn temDataAccessKind.Read.

Alguém conhece outras razões para obter este erro?

questionAnswers(2)

yourAnswerToTheQuestion