与 SQLite/SubSonic(或任何其他数据库)一起使用时,避免在项目中使用 App.config 文件
我有一个正在使用 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"/>
I have a project which I am developing with SQLite and SubSonic 3. I want to know that how can I avoid the App.config file altogether. How do I tell my program to use SQLite Data provider. I mean, how can I tell it this:
<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>
also can I add a connection string by code:
<add name="xyz" connectionString="Data Source=xyz.db" providerName="System.Data.SQLite"/>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
许多库都依赖于 app.config,因此您迟早会需要它。它对于整个 .NET 平台非常核心。您认为问题是什么?
您可以轻松地提供自己的连接字符串
,但我不太确定是否在代码中加载特定的ADO.NET 提供程序。这取决于您如何使用 SQLite 提供程序,但如果它的类被硬编码到您的代码中,那么我认为您甚至不需要 DbProviderFactory。
A lot of libraries rely on the app.config, so you sooner or later are going to need it anyway. It is very central to the whole .NET platform. And what do you see as the problem?
You can easily provide your own connection string
but I'm not so sure about loading a specific ADO.NET provider in code.It depends on how you use your SQLite provider, but if it's classes are hardcoded into your code then I don't think you even need a DbProviderFactory.
您可以通过传入连接字符串来手动创建一个 Provider:
然后您可以在需要时使用该 Provider。这对于 IoC 来说是理想的选择,您可以在其中为 SubSonic 的 IDataProvider 设置规则:
Gotta love IoC :)
You can create a Provider manually by passing the connection string in:
Then you can use that Provider when you need to. This is ideal for IoC where you can setup a rule for SubSonic's IDataProvider:
Gotta love IoC :)