No Entity Framework provider found for the ADO.NET provider with invariant name ‚System.Data.SqlClient‘.

Pokud ve Vaší aplikaci používáte Entity Framework, který však nemáte “nainstalován” (NuGet package) v prezentační/komunikační vrstvě, ale jste od něj odstíněni prostřednictvím nějakého jiného projektu nebo referencované assembly (obvykle skrz Repository), můžete se dočkat poměrně triviální chyby:

InvalidOperationException:

No Entity Framework provider found for the ADO.NET provider with invariant name ‚System.Data.SqlClient‘. Make sure the provider is registered in the ‚entityFramework‘ section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.

Protože při Googlení můžete narazit na různé zcestné rady typu “nainstalujte si do projektu Entity Framework” (což tedy pomůže, ale je to holý nesmysl), připomínám, že ač se to zná neuvěřitelné, v první řadě je potřeba udělat přesně to, co text výjimky říká – tedy přidat do konfiguračního souboru (web.config, app.config) sekci entityFramework a do ní providera.

<?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>
  <entityFramework>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

…ona teda instalace celého Entity Frameworku NuGet package by to za vás udělala taky, ale…

Napsat komentář

Vyplňte detaily níže nebo klikněte na ikonu pro přihlášení:

WordPress.com Logo

Komentujete pomocí vašeho WordPress.com účtu. Log Out / Změnit )

Twitter picture

Komentujete pomocí vašeho Twitter účtu. Log Out / Změnit )

Facebook photo

Komentujete pomocí vašeho Facebook účtu. Log Out / Změnit )

Google+ photo

Komentujete pomocí vašeho Google+ účtu. Log Out / Změnit )

Připojování k %s