Я уже видел темы, в которых обсуждалось использование Entity Framework и 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
с сообщением:
Unable to determine the provider name for connection of type 'Npgsql.NpgsqlConnection'.
Что я должен делать?