J'utilise DbProviderFactories dans ma couche de données (basée sur Entity Framework) et j'utilise SQLite pour ma base de données, mais je n'ai pas besoin d'avoir une App.Config pour avoir le code suivant :
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
</DbProviderFactories>
</system.data>
</configuration>
Au lieu de cela, j'aimerais que ma couche de données le fasse de manière programmatique. Quelqu'un connaît-il un moyen de le faire ?
EDIT :
La raison en est que j'utilise un conteneur IoC pour sélectionner la couche de données et que certaines de mes couches de données n'ont pas besoin des valeurs de App.Config, ou qu'elles sont liées à la couche de données.
2 votes
Pourquoi n'avez-vous pas d'app.config ? Si vous n'en avez pas (vous êtes peut-être une bibliothèque de classes), alors l'application appelante en a un. Mettez-y la configuration.
0 votes
Je me demande si Jason a déjà trouvé une réponse à cette question... J'ai un HTA qui appelle nos assemblages .Net en tant qu'objets COM. Donc, il n'y a pas de app.config. Nous utilisons SQL CE et nous sommes confrontés au même problème.
0 votes
@JohnSaunders : Pour moi, j'essayais de faire en sorte que plusieurs exe utilisent le même fichier de configuration. EntityFramework ne semblait pas honorer
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @"C:\Shared\app.config");
D'où l'utilité de cette question.