SqlConnection
är specifik för SQL Server. Du skulle behöva använda NpgsqlConnection
för att använda en Postgres-anslutning, vilket innebär att du behöver referenserna till Postgres-sammansättningarna.
Men du tänker flytta till en annan leverantör i framtiden, så för att minimera effekten av den flytten, försök att använda de generiska basklasserna i din kod. Till exempel:
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å det här sättet, när du byter över, är allt du behöver göra att ersätta NpgsqlConnection
över din lösning med SqlConnection
. Om du vill använda DbProviderFactory (det finns ett bra exempel där) då kan du, men i princip sparar du bara den här enstaka sökningen/ersättet, tar bort referenserna och släpper en ny version av koden.
Jag skulle föreslå att lägger anslutningssträngen i konfigurationsfilen snarare än kod (som visas i frågan) för att undvika att ha den på flera ställen och göra det lättare att ändra utan en ombyggnad.
Och naturligtvis kan du behöva fixa eventuella implementeringsspecifika detaljer i själva SQL.