代码之家  ›  专栏  ›  技术社区  ›  Yogesh

当与sqlite/subsonic(或任何其他数据库)一起使用时,避免在项目中使用app.config文件。

  •  3
  • Yogesh  · 技术社区  · 15 年前

    我有一个项目,我正在用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"/>
    
    2 回复  |  直到 13 年前
        1
  •  4
  •   TheVillageIdiot    13 年前

    您可以通过在以下位置传递连接字符串手动创建提供程序:

    var p = ProviderFactory.GetProvider("connectionstring", "System.Data.SqlClient");
    

    然后您可以在需要时使用该提供程序。这非常适合国际奥委会,您可以在这里为亚音速的IDataProvider设置规则:

    ForRequestedType< IDataProvider >()
        .TheDefault.Is.ConstructedBy(x => 
            ProviderFactory.GetProvider("connectionstring", "System.Data.SqlClient"));
    

    我要爱国际奥委会:)

        2
  •  1
  •   Henk Holterman    15 年前

    很多库都依赖app.config,所以你迟早会需要它。它对整个.NET平台非常重要。你认为问题是什么?

    您可以轻松地提供自己的连接字符串 但我不太确定是否要在代码中加载特定的ADO.NET提供程序 .

    这取决于您如何使用sqlite提供程序,但是如果它的类是硬编码到代码中的,那么我认为您甚至不需要dbproviderFactory。