J'utilise le framework 2.0 et je cherche un moyen générique pour déterminer si une colonne existe dans une table. Je veux utiliser ce code avec plusieurs types de bases de données et fournisseurs.Générique pour déterminer si une colonne existe dans ADO.NET
La méthode GetSchema renvoie des informations de schéma, mais le format des informations et des données pour limiter les informations renvoyées les deux semblent être spécifiques au fournisseur.
Les autres solutions que j'ai vues semblent se réduire à Select * à partir de la table, puis rechercher les résultats pour voir si la colonne existe. Cela fonctionnera mais il semble fou d'émettre un select pour toute la table pour voir si une colonne existe.
Je n'ai pas besoin de toutes les informations de schéma dans ce cas. J'essaie juste d'implémenter une méthode bool FieldExists (string tableName) générique. –
J'adore essayer d'expliquer à la direction en quoi le standard SQL n'est pas vraiment un standard, car tant est implémenté différemment ou pas du tout implémenté dans des bases de données différentes. –
C'est pourquoi j'ai été intrigué par ce projet d'implémenter INFORMATION_SCHEMA sur Oracle. Oracle est la grande exception ici, mais il ne devrait vraiment pas être si difficile à mettre en œuvre. Oracle fournit toutes ces informations, uniquement dans un ensemble personnalisé de tables/vues. Certaines personnes prennent le temps de construire la vue pour traduire les données dans le bon schéma. – Clyde