我正在尝试设置我的应用程序以将 Entity Framework 与 PostgreSQL 一起使用,但我遇到了一个问题。我已Npqsql
通过 nuget 添加,并将以下提供程序工厂添加到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
?我不明白,整个早上都在拉我的头发!