Gibt es eine generische Möglichkeit, einen DbType als Parameter zu übergeben?
-
27-10-2019 - |
Frage
Ich muss diese parametrisierte Abfrage oder eine entsprechende Abfrage ausführen:
ALTER TABLE tableName ADD COLUMN ? ?
mit den Parametern als Name der neuen Spalte und dem Datentyp. Wenn ich beispielsweise 'Name' DbType.Double übergebe, wird Folgendes aufgelöst:
ALTER TABLE tablename ADD COLUMN Name FLOAT
Ich kann nicht einfach eine Zuordnung zwischen DbType und dem Namen des Feldtyps erstellen, da der Code an der IDbConnection
-Schnittstelle arbeitet und keine bestimmte Implementierung.Gibt es eine generische Möglichkeit, dies zu tun?Im Moment habe ich für jede Implementierung ein separates Mapping, was offensichtlich alles andere als ideal ist.
Lösung
Sie müssen dies dynamisch tun, und es kann sinnvoll sein, sich eine anbieterspezifische Übersetzung anzusehen (damit Anbieter ihre eigenen Zuordnungen bereitstellen können).