ASP.NET MVC 4プロジェクトでPostgreSQLとEntity Framework 6を使用したい。 Entity Framework 6.0.2 + Npgsql 2.0.14.3を入手しましたが、エラーが発生します。どうすれば修正できますか?
エラー:
タイプ 'System.InvalidOperationException'の例外がmscorlib.dllで発生しましたが、ユーザーコードでは処理されませんでした
追加情報:Entity Frameworkプロバイダータイプ 'Npgsql.NpgsqlServices、Npgsql、Version = 2.0.14.3、Culture = neutral、PublicKeyToken = 5d8b90d52f46fda7'の 'Instance'メンバーは、 'System.Data.Entityから継承するオブジェクトを返しませんでした。 Core.Common.DbProviderServices '。 Entity Frameworkプロバイダーはこのクラスから継承する必要があり、 'Instance'メンバーはプロバイダーのシングルトンインスタンスを返す必要があります。これは、プロバイダーがEntity Framework 6以降をサポートしていないことが原因である可能性があります。詳細については、 http://go.Microsoft.com/fwlink/?LinkId=260882 を参照してください。
Web.config
<system.data>
<DbProviderFactories>
<add name="Npgsql Data Provider"
invariant="Npgsql"
description="Data Provider for PostgreSQL"
type="Npgsql.NpgsqlFactory, Npgsql" />
</DbProviderFactories>
</system.data>
<connectionStrings>
<add name="DatabaseContext" connectionString="Server=localhost;port=5432;Database=main;User Id=postgres;Password=password;" providerName="Npgsql" />
</connectionStrings>
<entityFramework>
<providers>
<provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, Npgsql" />
</providers>
</entityFramework>
私はこのようにNpgsqlをインストールする必要がありました:
Install-Package Npgsql.EF6 -Pre
動作する別のバージョンをインストールします。
更新:新しいベータ版については、
install-package Npgsql.EntityFramework -pre