SqlConnection
er specifik for SQL Server. Du skal bruge NpgsqlConnection
at bruge en Postgres-forbindelse, hvilket betyder, at du skal bruge referencerne til Postgres-samlingerne.
Men du har til hensigt at flytte til en anden udbyder i fremtiden, så for at minimere virkningen af denne flytning, prøv at bruge de generiske basisklasser i din kode. For eksempel:
var connString = "Host=myserver;Username=mylogin;Password=mypass;Database=mydatabase";
using (DbConnection conn = new NpgsqlConnection(connString))
{
conn.Open()
using (DbCommand command = conn.CreateCommand())
{
// etc
}
}
På denne måde, når du bytter om, er alt hvad du skal gøre at erstatte NpgsqlConnection
på tværs af din løsning med SqlConnection
. Hvis du vil bruge DbProviderFactory (der er et godt eksempel derinde) så kan du, men grundlæggende sparer du kun dig selv denne enkelte søgning/erstat, fjerner referencerne og frigiver en ny version af koden.
Jeg vil foreslå at sætte forbindelsesstrengen i konfigurationsfilen i stedet for kode (som vist i spørgsmålet) for at undgå at have det flere steder, og gøre det nemmere at ændre uden en ombygning.
Og selvfølgelig skal du muligvis rette eventuelle implementeringsspecifikke detaljer i selve SQL'en.