C# 基础提供程序在ConnectionString PostgreSql EF6上失败
My web.config:C# 基础提供程序在ConnectionString PostgreSql EF6上失败,c#,entity-framework,postgresql,C#,Entity Framework,Postgresql,My web.config: <system.data> <DbProviderFactories> <remove invariant="Devart.Data.PostgreSql" /> <add name="Npgsql Data Provider" invariant="Devart.Data.PostgreSql" description="Data Provider for PostgreSQL" t
<system.data>
<DbProviderFactories>
<remove invariant="Devart.Data.PostgreSql" />
<add name="Npgsql Data Provider" invariant="Devart.Data.PostgreSql" description="Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql" />
</DbProviderFactories>
</system.data>
<connectionStrings>
<add name="OcrCliaCargoEntities" connectionString="metadata=res://*/OcrClia.Cargo.OcrCliaCargoDB.csdl|res://*/OcrClia.Cargo.OcrCliaCargoDB.ssdl|res://*/OcrClia.Cargo.OcrCliaCargoDB.msl;provider=Devart.Data.PostgreSql;provider connection string=user id=postgres;host=10.40.51.202;database=cargo;initial schema=tobackup" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<providers>
<provider invariantName="Devart.Data.PostgreSql" type="Npgsql.NpgsqlServices, Npgsql.EntityFramework" />
</providers>
</entityFramework>
查询时发生以下错误:
不支持关键字:“主机”
参考资料:
<package id="EntityFramework" version="6.1.0" targetFramework="net40" />
<package id="Npgsql" version="2.1.3" targetFramework="net40" />
<package id="Npgsql.EntityFramework" version="2.1.3" targetFramework="net40" />
试用版已安装在我的工作计算机上:dcpostgresql.exe
有人遇到了这个问题?,使用npgsql的主机的正确连接参数是Server not host。它模仿SQLServer的连接字符串格式,该格式也使用服务器
因此,您的连接字符串应该是:
<add name="OcrCliaCargoEntities" connectionString="metadata=res://*/OcrClia.Cargo.OcrCliaCargoDB.csdl|res://*/OcrClia.Cargo.OcrCliaCargoDB.ssdl|res://*/OcrClia.Cargo.OcrCliaCargoDB.msl;provider=Devart.Data.PostgreSql;provider connection string=user id=postgres;Server=10.40.51.202;database=cargo;initial schema=tobackup" providerName="System.Data.EntityClient" />
/// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^^^^^^
但该连接字符串是由模型中的工具首先创建的。已按报告进行更改,但现在返回错误:关键字不受支持:“服务器”