This configuration worked for me:
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> </startup> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider> </providers> </entityFramework> <system.data> <DbProviderFactories> <remove invariant="MySql.Data.MySqlClient" /> <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </DbProviderFactories> </system.data> <connectionStrings> <add name="MyLocalDatabase" providerName="MySql.Data.MySqlClient" connectionString="server=localhost;port=3306;database=mycontext;uid=root;password=********" /> </connectionStrings> </configuration>
I was getting errors similar to yours because of a wrong installation of the MySql connector client in my development machine. I installed MySql connector Nuget packages within Visual Studio, but it was not enough. I also needed to install MySql client which I downloaded from MySql website. After that the Type errors went away.
These are my Nuget packages: 
And this is the download page of MySql connector which I downloaded and installed manually.
Note: the defaultConnectionFactory value is never used if you specify explicitly the type of your provider. In that case it doesn't matter which value you have in the configuration file in this setting. See point 3 in this reference doc page in MySql website.
I recommend you to check if your MySql is correctly installed in your machine by using MySql command line client console. Try to connect to the server from outside Visual Studio with your connection string values.
<provider invariantName="MySql.Data.MySqlClient"from theproviderssection. Also make herename="mydbContext",mydbContextis the exact name of your class (case sensitive).