【发布时间】:2013-01-01 00:06:17
【问题描述】:
我正在尝试设置我的应用程序以将 Entity Framework 与 PostgreSQL 一起使用,但我遇到了一个问题。我已经通过 nuget 添加了Npqsql,并将以下提供程序工厂添加到web.config:
<system.data>
<DbProviderFactories>
<add name="Npgsql Data Provider"
invariant="Npgsql"
description=".Net Framework Data Provider for Postgresql Server"
type="Npgsql.NpgsqlFactory, Npgsql,
Version=2.0.12.0, Culture=neutral,
PublicKeyToken=5d8b90d52f46fda7" />
</DbProviderFactories>
</system.data>
带连接字符串:
<add name="MyDb" providerName="Npgsql"
connectionString="Server=localhost;Port=5432;Database=withoomph;User ID=postgres;Password=******;enlist=true" />
它似乎可以很好地连接到数据库,但是当我尝试对数据库执行任何操作时,我得到以下异常:
FATAL: 3D000: database "withoomph" does not exist
当数据库设置如下时,我正在正确设置数据库初始化程序:
static MyDB()
{
Database.SetInitializer<MyDB>(new CreateDatabaseIfNotExists<MyDB>());
}
所以当我尝试用我的DbContext 做任何事情时,它应该只是简单地创建数据库,对吗?我不明白,整个上午都在拔头发!
【问题讨论】:
标签: c# entity-framework postgresql npgsql