Ich hatte das gleiche Problem, aber Jahre später!
Mein Server hat in gac die MySql Connector 6.4.6-Version installiert, aber ich arbeite mit der 6.8.3-Version, ich habe den Fehler „cannot be cast“ erhalten. Ich habe es behoben, indem ich den folgenden Abschnitt zur .config-Datei hinzugefügt habe
<system.data>
<DbProviderFactories>
<!-- Removes the dll installed in gac-->
<remove invariant="MySql.Data.MySqlClient" />
<!-- Add the dll copied in the bin folder-->
<add name="MySQL" description="ADO.Net driver for MySQL" invariant="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"/>
</DbProviderFactories>
</system.data>