Aby se VS 2015 mohl připojit k MySql, musíte používat novější verzi knihoven MySql. I když se to zdá jako docela jednoduchá odpověď, ve vší upřímnosti jsem na cestě narazil na několik problémů. S ohledem na to napíšu 1 proces, který mi trvale fungoval, pokud jde o to, aby EF pracoval s MySql a VS2015. Takže, bez dalších okolků, zde jsou kroky, které jsem podnikl, aby to fungovalo.
1) Ujistěte se, že instalace konektoru MySql je aktualizována
2) Vytvořte svůj webový projekt
3) Otevřete Nuget
4) Nainstalujte Entity Framework
5) Vyhledejte MySql
6) Nainstalujte MySql.Data
7) Nainstalujte MySql.Data.Entity
8) Nainstalujte MySql.Data.Entities
9) Nainstalujte MySql.Web
10) Přejděte na reference projektu a odstraňte MySql.Data.Entity.EF6
11) Zkontrolujte verze knihoven MySql.Data a MySql.Web. Pokud jsou pod 6.9.6, smažte je také
12) Přidejte novou referenci procházením instalačního umístění pro konektor mysql pro vaši verzi rozhraní .NET (moje C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5) a uchopit MySql.Data.Entity.EF6.dll (moje verze je 6.9.6, mějte to na paměti, až později změníme web.config)
13) Pokud ostatní knihovny byly také starší verze, přidejte na ně odkazy tak, že ve svém řešení přejdete do složky balíčků a uchopíte soubory z jejich příslušných složek. Normálně to nemusím dělat.
14) Nyní bude nutné upravit soubor Web.config. Prvním krokem je nahrazení části entity framework tímto kódem (změňte číslo verze na vaši aktuální verzi. Upozorňujeme, že jsem tento úryvek našel na webu před několika týdny a nemám původní odkaz. Omlouvám se originálu plakát těchto informací.)
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</providers>
</entityFramework>
15) Ujistěte se, že vaše sekce DbProviderFactories odpovídá
<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.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
16) Uložit a postavit
Nejsem si jistý, kolik z těchto kroků je skutečně zapotřebí, ale poté, co jsem to jednou konečně dostal, jsem musel skutečně udělat nějakou práci a neměl jsem čas věci dále zužovat. Snad vás to rozhýbe.
P.S. Pokud po tom všem projdete průvodcem a ten prostě zmizí, než vám ukáže tabulky v databázi, ze kterých můžete vytvářet entity, pak to může být jeden ze tří problémů, na které jsem cestou narazil. Databázový server nelze kontaktovat. Uživatel nemá potřebná oprávnění k databázi. Jako reference byla přidána nesprávná verze MySql.Data.Entity.EF6 nebo je v souboru web.config nesprávné číslo verze. Pokud vezmu tento soubor z adresáře packages mého řešení, často narazím na tento problém s přerušeným průvodcem bez chybové zprávy. Stažení z instalačního adresáře MySql mi pokaždé fungovalo dobře.