我正在尝试将我的MVC3项目与Postgres 9.1中的数据库连接,我已经按照以下链接:info1,info2,info3来看看,我只需要字符串连接就可以创建一个Controller。
我引用了Mono.Security
和Npgsql
。dll,我将它们添加到程序集
我正在使用此connectionString
:
<connectionStrings>
<add name="TestPostgreSQLContext"
connectionString="metadata=res://*/Models.TestPostgreSQL.csdl|res://*/Models.TestPostgreSQL.ssdl|res://*/Models.TestPostgreSQL.msl;provider=Npgsql.NpgsqlConnection;provider connection string="data source=localhost;initial catalog=testPostgres;persist security info=True;user id=postgres;password=123456;multipleactiveresultsets=True;App=EntityFramework""
providerName="Npgsql.NpgsqlConnection"/>
</connectionStrings>
代码加价:
public TestPostgreSQLContext() : base("name=TestPostgreSQLContext", "TestPostgreSQLContext")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
public TestPostgreSQLContext(string connectionString) : base(connectionString, "TestPostgreSQLContext")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
public TestPostgreSQLContext(EntityConnection connection) : base(connection, "TestPostgreSQLContext")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
这是一个更加图形化的想法:
答案 0 :(得分:2)
您是否在应用程序的配置文件或machine.config内声明了Npgsql作为注册提供程序? (见this official Npgsql documentation