Vous devez déclarer le DbFactoryProvider dans un fichier de configuration (Web.config, Machine.config, etc.). Voici un exemple que j'ai extrait d'un projet utilisant MySQL :
<system.data> <DbProviderFactories> <remove invariant="MySql.Data.MySqlClient"/> <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/> </DbProviderFactories> </system.data>
Je préfère également les déclarer dans les fichiers de configuration au niveau de l'application et faire en sorte que mes applications utilisent la copie locale de l'assembly. Cela facilite la portabilité, car nous ne pouvons pas garantir que le fournisseur tiers est disponible dans GAC.