我已经看到讨论使用官方说明的实体框架和 PostgreSQL 的线程。每次安装都需要运行这些说明,gacutil
这对于部署目的来说不是那么方便。
我在这里要做的是将 PostgreSQL 连接直接传递给DbContext
构造函数。这对我来说已经足够了,因为我将在CodeFirst
没有设计师的情况下使用。这就是我所做的:
public class Context : DbContext
{
Context(System.Data.Common.DbConnection connection)
: base(connection, true)
{
}
public static Context CreateContext()
{
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=********;Database=xxx;");
conn.Open();
return new Context(conn);
}
}
但是使用这种方法,我收到一条NotSupportedException
消息:
无法确定“Npgsql.NpgsqlConnection”类型连接的提供程序名称。
我应该怎么办?