Você começ um InvalidOperationException quando você tenta executar uma operação em um objeto mas o objeto não está ainda no ele endireita o estado a ser executado.
Poderia ser porque você não abre a conexão.
Pode você afixar o código o que executa a conexão