Widziałem już wątki omawiające użycie Entity Framework i PostgreSQL z oficjalnymi instrukcjami. Instrukcje te muszą uruchamiać gacutil
dla każdej instalacji, która nie jest tak przydatna do celów wdrażania.Jak korzystać z Entity Framework + PostgreSQL z połączenia?
Co chcę tutaj zrobić, to przekazywanie połączenia PostgreSQL bezpośrednio do konstruktora DbContext
. To mi wystarcza, ponieważ zamierzam użyć CodeFirst
bez projektanta. To co mam zrobić:
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);
}
}
Ale za pomocą tej metody dostaję NotSupportedException
z komunikatem:
Nie można określić nazwę dostawcy dla połączenia typu „Npgsql.NpgsqlConnection”.
Co należy zrobić?
Wydaje się, że pracujesz dla mnie – user007