我有一个正在使用 SQLite 和 SubSonic 3 开发的项目。我想知道如何完全避免 App.config 文件。如何告诉我的程序使用 SQLite 数据提供程序。我的意思是,我该如何告诉它:
<DbProviderFactories>
<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>
我还可以通过代码添加连接字符串吗:
<add name="xyz" connectionString="Data Source=xyz.db" providerName="System.Data.SQLite"/>
最佳答案
您可以通过传入连接字符串来手动创建提供者:
var p = ProviderFactory.GetProvider("connectionstring", "System.Data.SqlClient");
然后您可以在需要时使用该提供程序。这是 IoC 的理想选择,您可以在其中为 SubSonic 的 IDataProvider 设置规则:
ForRequestedType< IDataProvider >()
.TheDefault.Is.ConstructedBy(x =>
ProviderFactory.GetProvider("connectionstring", "System.Data.SqlClient"));
爱上 IoC :)
关于c# - 与 SQLite/SubSonic(或任何其他数据库)一起使用时,避免在项目中使用 App.config 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1631556/