C# – Mysql is not appearing in “Choose Data Source” for Visual studio 2017

adocdatasourceMySQLvisual-studio-2017

As you can see i've already installed the necessary mysql packages such as Mysql for Visual studio and Connector/NET but no matter what the mysql is not appearing in Visual studio 2017 Data source menu, any suggestion ? : enter image description here

enter image description here

Best Answer

I just had the same situation when trying to configure Visual Studio Professional 2017 environment with MySQL, ADO.NET (Database First) and EF6.

Note: Please follow steps in the same order.

  1. Uninstall/remove "Connector/NET" and "MySQL for Visual Studio" if installed.

  2. Install "MySQL for Visual Studio" v2.0.5 CTP (MySQL for Visual Studio). Note: Install MySQL for Visual Studio before Connector/NET.

  3. Install "Connector/NET" v6.9.10 (Connector/Net). https://i.stack.imgur.com/XOT1I.jpg Note: I tried using Connector/NET v6.8, v6.10 and v8 first, but none of them worked with Visual Studio 2017 and ADO.Net. Here you can find all Connector Versions and Compatibilities with Visual Studio IDEs, but so far this list is inaccurate.

Note: Until this step, you should be covered, but you'll then encounter Entity Framework issues, follow the next steps to completely configure your environment and you should be good to go.

  1. Create new Visual Studio Professional 2017 project.

  2. Download and Install "EntityFramework" v6.2.0 through NuGet, by going to Project Tab/Manage NuGet Packages/Browse -> Entity Framework.

  3. Add references to C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.dll and C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.Entity.EF6.dll; by Right Clicking over References inside Solution Explorer and selecting Add Reference/Browse ->Browse button.

  4. Add MySQL EF6 provider info inside App.config under entity framework providers as follow:

<entityFramework>
       <providers>
         <provider invariantName="MySql.Data.MySqlClient"
              type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
       </providers>
</entityFramework>

  1. Rebuild project by going to Build tab/Rebuild ProjectName.

And that's it. VS2017 is ready to go. Hope this works for everybody, as it did for me today.

References:

  1. Can't Create Entity Data Model - using MySql and EF6

  2. No Entity Framework provider found for 'MySql.Data.MySqlClient' ADO.NET provider