OleDb ist allgemeiner. Wenn Sie in Zukunft jemals zu einem anderen Datenbanktyp wechseln, besteht eine gute Chance, dass dieser einen Ole-Treiber enthält und Sie nicht so viel Code ändern müssen.
Auf der anderen Seite soll der native Sql Server-Treiber schneller sein, wie Sie sagten, und er hat eine bessere Parameterunterstützung (Parameter können Namen verwenden und müssen nicht haben in Ordnung sein).
Nach meiner persönlichen Erfahrung habe ich den Geschwindigkeitsunterschied nie bemerkt; Ich konnte auch nichts finden, um die Behauptung zu untermauern. Ich vermute, dass der Leistungsvorteil real ist, aber dass Sie Millionen von Datensätzen verarbeiten müssten, bevor Sie mit der Messung beginnen könnten.
Was ich bemerkte, machte einen bedeutenden Unterschied, waren die Fehlermeldungen. Ich hatte Probleme mit einer alten OleDb-App und habe sie aus Verzweiflung auf SqlClient umgestellt. Natürlich hat es immer noch nicht funktioniert, aber die besseren Fehlermeldungen lieferten genug neue Informationen, sodass ich das Problem beheben konnte.