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 回答