4

プロジェクトで POstgreSQL データベースを使用しようとしています。コード ファースト開発を学びたい.. PostgreSql の dotconnect (試用版) をダウンロードし、参照に Devart.Data.PostgreSql dll を追加しました。次に、これらの行を app.copnfig に追加しました

 <connectionStrings>
        <add name="SchoolDBConnectionString" connectionString="Server=localhost;Port = 5432;Database=MyDataBase;user Id=postgres;password=*****" providerName="Devart.Data.PostgreSql" />
    </connectionStrings>
<system.data> 
    <DbProviderFactories>
        <remove invariant="Devart.Data.PostgreSql" />
        <add name="dotConnect for PostgreSQL" invariant="Devart.Data.PostgreSql" description="Devart dotConnect for PostgreSQL" type="Devart.Data.PostgreSql.PgSqlProviderFactory, Devart.Data.PostgreSql, Version= 6.8.333.0, Culture=neutral, PublicKeyToken=09af7300eec23701" />
    </DbProviderFactories>
  </system.data>
</configuration>

アプリケーションを実行すると、次の例外があります。

データベースからプロバイダー情報を取得中にエラーが発生しました。これは、不適切な接続文字列を使用する Entity Framework が原因である可能性があります。内部例外で詳細を確認し、接続文字列が正しいことを確認してください。

4

1 に答える 1

0

これを追加してみてください(テストされていません)

<provider invariantName="Devart.Data.PostgreSql" type="Devart.Data.PostgreSql.Entity.PgSqlEntityProviderServices,
Devart.Data.PostgreSql.Entity, Version=7.1.26.6, Culture=neutral, PublicKeyToken=09af7300eec23701" />

<entityFramework>
    <providers>
      <provider invariantName="Devart.Data.PostgreSql" type="Devart.Data.PostgreSql.Entity.PgSqlEntityProviderServices,
      Devart.Data.PostgreSql.Entity, Version=7.1.26.6, Culture=neutral, PublicKeyToken=09af7300eec23701" />
    </providers>
</entityFramework>

: 7.1.26.6 を実際のアセンブリ バージョンに置き換えます。

于 2014-10-31T11:01:48.440 に答える