Esiste un modo generico per passare un DbType come parametro
-
27-10-2019 - |
Domanda
Devo eseguire questa query con parametri o un equivalente:
ALTER TABLE tableName ADD COLUMN ? ?
con i parametri come nome della nuova colonna e il tipo di dati. Ad esempio, se passo "Name" DbType.Double, si risolverà in:
ALTER TABLE tablename ADD COLUMN Name FLOAT
Non posso semplicemente creare una mappatura tra DbType e il nome del tipo di campo, poiché il codice sta lavorando sull'interfaccia IDbConnection
, non su un'implementazione specifica.C'è un modo generico per farlo?In questo momento ho una mappatura separata per ogni implementazione, che ovviamente è tutt'altro che ideale.
Soluzione
Dovrai farlo in modo dinamico e potrebbe avere senso guardare una traduzione specifica del fornitore (in modo che i fornitori possano fornire le proprie mappature).